B4J Library [B4X] SD Zebra (printer)

This library is the result of my first approach with Zebra printers. I started by connecting via LAN (or Wi-Fi) ZPL language.
I plan to connect via BLE and perhaps also via USB. Have a good time. Preview only works if you have an internet connection
For ESC/POS Printer see here
The Demo version does not print images, barcodes, raw commands

NB
: This is a demo version, each print will show the SD symbol. Contact me privately for a full version.
Some Honeywell printers support the ZPL II language to make them compatible with Zebra and facilitate replacement. So this library might work on Honeywell as well



Anyone who wants a different version from those distributed (such as Bluetooth SPP, USB, RS) can contact me privately.
OS
Bluetooth SPP
BLE (Beacon)
USB
LAN / WIFI
RS 232
NFC
Android​
x (On request)​
x​
x (on request)​
x​
iOs​
x​
x​
Window​
x (On request)​
x​
x​



aSD_Zebra

Author:
Star-Dust
Version: 1.11
  • BLEZebraPrinter
    • Events:
      • BLEisOFF
      • Connected (services As List)
      • Disconnected
      • ImageWriteComplete
      • PrinterFound (Name As String, ID As String)
      • StateChanged (msg As String)
      • WriteComplete (Characteristic As String, Success As Boolean)
    • Fields:
      • CharatteristicName As String
      • currentState As Int
      • Encoding As String
      • Rotate180 As String
      • Rotate270 As String
      • Rotate90 As String
      • RotateNormal As String
      • ServiceName As String
    • Functions:
      • Active (CodeActivation As String) As String
      • AddBarCode (X As Int, Y As Int, Height As Int, Code As String, Size As Int) As String
        CODE 128
        Zebra.AddBarCode(50,50,"1234567890",5)
      • AddBarCodeEAN13 (X As Int, Y As Int, Height As Int, Code As String, Size As Int) As String
        EAN13
        Zebra.AddBarCodeEAN13(50,50,"1234567890",5)
      • AddCircle (X As Int, Y As Int, radius As Int, StrokeWidth As Int, Filled As Boolean) As String
        Zebra.AddCircle(50,50,25,3,false)
      • AddHorizLine (X As Int, Y As Int, Width As Int, StrokeWidth As Int) As String
        Zebra.AddHorizLine(50,50,700,3)
      • AddImage (X As Int, Y As Int, bmp As B4XBitmap) As String
        Zebra.AddImage() ' not active
      • AddLogoSD (X As Int, Y As Int)
        Add logo SD to coordinate
      • AddQRcode (X As Int, Y As Int, Height As Int, Code As String, Size As Int) As String
        Zebra.AddQRcode(50,50,"1234567890",5)
      • AddRaw (Text As String) As String
      • AddRectangle (X As Int, Y As Int, Width As Int, Height As Int, StrokeWidth As Int, Filled As Boolean, InvertBrush As Boolean) As String
        Zebra.AddRectangle(50,50,100,100,3,false,false)
      • AddRectangleRounded (X As Int, Y As Int, Width As Int, Height As Int, StrokeWidth As Int, Filled As Boolean, Rounded As Int) As String
        Zebra.AddRectangleRounded(50,50,100,100,3,false,5)
      • AddText (X As Int, Y As Int, Text As String, TextSize As Int, Bold As Boolean) As String
        Zebra.AddText(50,50,"Text",50, false)
      • AddTextRotate (X As Int, Y As Int, Text As String, TextSize As Int, Bold As Boolean, Rotation As String) As String
        Zebra.AddTextRotate(50,50,"Text",50, false,Zebra.RotateNormal)
        Zebra.AddTextRotate(50,50,"Text",50, false,Zebra.Rotate90)
      • AddVertLine (X As Int, Y As Int, Height As Int, StrokeWidth As Int) As String
        Zebra.AddVertLine(400,100,300,3)
      • Class_Globals As String
      • Connect (ID As String) As String
        CharatteristicName = "2AF0" or "2AF1"
      • Disconnect As String
      • Initialize (CallBack As Object, EventName As String) As String
        Initializes the object. You can add parameters to this method if needed.
      • IsInitialized As Boolean
        Verifica se l'oggetto sia stato inizializzato.
      • Preview As String
        Evito di usare okHttpUtils
      • Print As String
      • ScanPrinter As String
      • StopScanning As String
    • Properties:
      • isConnect As Boolean [read only]
      • isScanning As Boolean [read only]
      • LabelWidth
      • Raw As String [read only]
      • BlackRange
  • LanZebraPrinter
    • Events:
      • Opened (Success As Boolean)
      • Preview (Success As Boolean, bmp As B4XBitmap)
    • Fields:
      • desktop As Int
      • Encoding As String
      • Mobile As Int
      • Rotate180 As String
      • Rotate270 As String
      • Rotate90 As String
      • RotateNormal As String
    • Functions:
      • Active (CodeActivation As String) As String
      • AddBarCode (X As Int, Y As Int, Height As Int, Code As String, Size As Int) As String
        Code 128
        Zebra.AddBarCode(50,50,"1234567890",5)
      • AddBarCodeEAN13 (X As Int, Y As Int, Height As Int, Code As String, Size As Int) As String
        EAN13
        Zebra.AddBarCodeEAN13(50,50,"1234567890",5)
      • AddBarCodeEAN8 (X As Int, Y As Int, Height As Int, Code As String, Size As Int) As String
        EAN8
        Zebra.AddBarCodeEAN8(50,50,"1234567890",5)
      • AddCircle (X As Int, Y As Int, radius As Int, StrokeWidth As Int, Filled As Boolean) As String
        Zebra.AddCircle(50,50,25,3,false)
      • AddHorizLine (X As Int, Y As Int, Width As Int, StrokeWidth As Int) As String
        Zebra.AddHorizLine(50,50,700,3)
      • AddImage (X As Int, Y As Int, bmp As B4XBitmap) As String
        Zebra.AddImage() ' not active
      • AddLogoSD (X As Int, Y As Int)
        Add logo SD to coordinate
      • AddQRcode (X As Int, Y As Int, Height As Int, Code As String, Size As Int) As String
        Zebra.AddQRcode(50,50,"1234567890",5)
      • AddRaw (Text As String) As String
      • AddRectangle (X As Int, Y As Int, Width As Int, Height As Int, StrokeWidth As Int, Filled As Boolean, InvertBrush As Boolean) As String
        Zebra.AddRectangle(50,50,100,100,3,false,false)
      • AddRectangleRounded (X As Int, Y As Int, Width As Int, Height As Int, StrokeWidth As Int, Filled As Boolean, Rounded As Int) As String
        Zebra.AddRectangleRounded(50,50,100,100,3,false,5)
      • AddText (X As Int, Y As Int, Text As String, TextSize As Int, Bold As Boolean) As String
        Zebra.AddText(50,50,"Text",50, false)
      • AddTextRotate (X As Int, Y As Int, Text As String, TextSize As Int, Bold As Boolean, Rotation As String) As String
        Zebra.AddTextRotate(50,50,"Text",50, false,Zebra.RotateNormal)
        Zebra.AddTextRotate(50,50,"Text",50, false,Zebra.Rotate90)
      • AddVertLine (X As Int, Y As Int, Height As Int, StrokeWidth As Int) As String
        Zebra.AddVertLine(400,100,300,3)
      • Class_Globals As String
      • Clear As String
      • Close As String
      • Initialize (Callback As Object, Event As String) As String
        Initializes the object. You can add parameters to this method if needed.
      • IsInitialized As Boolean
        Verifica se l'oggetto sia stato inizializzato.
      • Open (Host As String, TypePrinter As Int) As String
        Zebra.Open("192.168.1.202",Zebra.desktop)
      • Preview As String
        Evito di usare okHttpUtils
      • Print As String
      • PrintAndClose
    • Properties:
      • LabelWidth
      • Raw As String [read only]
      • BlackRange
  • UsbZebraPrinter
    Ctrl + click to build b4xlib: ide://run?file=%JAVABIN%\jar.exe&WorkingDirectory=%PROJECT%\..&Args=-cMf&Args=%PROJECT_NAME%.b4xlib&&Args=..&Args=*.bas&Args=manifest.txt
    preview http://labelary.com/viewer.html
    • Events:
      • Opened (Success As Boolean)
      • Preview (Success As Boolean, bmp As B4XBitmap)
    • Fields:
      • desktop As Int
      • Encoding As String
      • Mobile As Int
      • Rotate180 As String
      • Rotate270 As String
      • Rotate90 As String
      • RotateNormal As String
    • Functions:
      • Active (CodeActivation As String) As String
      • AddBarCode (X As Int, Y As Int, Height As Int, Code As String, Size As Int) As String
        Code 128
        Zebra.AddBarCode(50,50,"1234567890",5)
      • AddBarCodeEAN13 (X As Int, Y As Int, Height As Int, Code As String, Size As Int) As String
        EAN13
        Zebra.AddBarCodeEAN13(50,50,"1234567890",5)
      • AddBarCodeEAN8 (X As Int, Y As Int, Height As Int, Code As String, Size As Int) As String
        EAN8
        Zebra.AddBarCodeEAN8(50,50,"1234567890",5)
      • AddCircle (X As Int, Y As Int, radius As Int, StrokeWidth As Int, Filled As Boolean) As String
        Zebra.AddCircle(50,50,25,3,false)
      • AddHorizLine (X As Int, Y As Int, Width As Int, StrokeWidth As Int) As String
        Zebra.AddHorizLine(50,50,700,3)
      • AddImage (X As Int, Y As Int, bmp As B4XBitmap) As String
        Zebra.AddImage() ' not active
      • AddLogoSD (X As Int, Y As Int)
        Add logo SD to coordinate
      • AddQRcode (X As Int, Y As Int, Height As Int, Code As String, Size As Int) As String
        Zebra.AddQRcode(50,50,"1234567890",5)
      • AddRaw (Text As String) As String
      • AddRectangle (X As Int, Y As Int, Width As Int, Height As Int, StrokeWidth As Int, Filled As Boolean, InvertBrush As Boolean) As String
        Zebra.AddRectangle(50,50,100,100,3,false,false)
      • AddRectangleRounded (X As Int, Y As Int, Width As Int, Height As Int, StrokeWidth As Int, Filled As Boolean, Rounded As Int) As String
        Zebra.AddRectangleRounded(50,50,100,100,3,false,5)
      • AddText (X As Int, Y As Int, Text As String, TextSize As Int, Bold As Boolean) As String
        Zebra.AddText(50,50,"Text",50, false)
      • AddTextRotate (X As Int, Y As Int, Text As String, TextSize As Int, Bold As Boolean, Rotation As String) As String
        Zebra.AddTextRotate(50,50,"Text",50, false,Zebra.RotateNormal)
        Zebra.AddTextRotate(50,50,"Text",50, false,Zebra.Rotate90)
      • AddVertLine (X As Int, Y As Int, Height As Int, StrokeWidth As Int) As String
        Zebra.AddVertLine(400,100,300,3)
      • Class_Globals As String
      • Clear As String
      • getRaw As String
      • Initialize (Callback As Object, Event As String) As String
        Initializes the object. You can add parameters to this method if needed.
      • IsInitialized As Boolean
        Verifica se l'oggetto sia stato inizializzato.
      • Preview As String
        Evito di usare okHttpUtils
      • Print (printer As String) As String
      • PrintAndClose (printer As String) As String
      • setLabelWidth (Width As Int) As String
    • Properties:
      • LabelWidth
      • Raw As String [read only]
      • BlackRange



Update log
  • 1.01
    • Added printer type parameter on the Open method. It can be desktop or mobile printer
    • Added AddTextRotate command. Enter constants to pass as parameter (RotateNormal, Rotate90, Rotate180, Rotate270)
  • 1.02 Added method AddImage
  • 1.03 Fix bugs
  • 1.05 Added class for printing with BLE (BLE Not available for B4J)
  • 1.06 Fix bugs
  • 1.07 Added AddBarCodeEAN13 method
  • 1.08 Added AddBarCodeEAN8 method and Fix Bug
  • 1.09 Fix Bugs on authentication and streaming channel
  • 1.10 Added USB communication in B4J version, Fix bugs QR code
  • 1.11 Added AddLogoSD and BlackRange (Limit for the transformation between color and black and white images))
 

Attachments

  • jSD_Zebra 1.11.zip
    21.9 KB · Views: 121
  • aSD_Zebra 1.11.zip
    24.3 KB · Views: 139
  • iSD_Zebra 1.11.zip
    223.9 KB · Views: 108
Last edited:

Star-Dust

Expert
Licensed User
Longtime User
Flash offer: Only for 1° September 2022
  • Zebra Printer (Android) LAN, BLE
  • Zebra Printer (iOs) LAN, BLE
  • Zebra Printer (Window) LAN
  • ESCPOS Printer library (Android) USB, LAN, BLE, Bluetooth SPP
  • iSD_BLE_Printer (ios) BLE
  • jSD BT_Printer (Windows) Bluetooth SPP

Promotion Price : 50€
Contact me with a private message before making the donation
 

Orphy73

New Member
Hello @Star-Dust , I would like to obtain the full version of your Zebra Printer (Window) library.

I can't PM you from this forum. How can we do ? (Sorry for my bad english).

Cordially
 

Star-Dust

Expert
Licensed User
Longtime User
Hi @Orphy73 ,

I see that you are new to the forum, if you make a donation you become a licensed user and you have no limitations in the forum.
Based on the fact that you are a new subscriber I wonder if you are familiar enough with B4X to use my library
 

Orphy73

New Member
Hi @Orphy73 ,

I see that you are new to the forum, if you make a donation you become a licensed user and you have no limitations in the forum.
Based on the fact that you are a new subscriber I wonder if you are familiar enough with B4X to use my library

@Star-Dust

Yes it's true, I am a new user on this forum. But I have been developing on B4J, (and B4A), for 6 years in my company. Your library interests me a lot

Cordially
 

Star-Dust

Expert
Licensed User
Longtime User
Update rel. 1.07 - Added AddBarCodeEAN13 method
 

Star-Dust

Expert
Licensed User
Longtime User
Update re. 1.08
  • Added AddBarCodeEAN8 method
  • Fix Bug
 

jaelani

Member
This library is the result of my first approach with Zebra printers. I started by connecting via LAN (or Wi-Fi) ZPL language.
I plan to connect via BLE and perhaps also via USB. Have a good time.
For ESC/POS Printer see here
The Demo version does not print images, barcodes, raw commands

NB
: This is a demo version, each print will show the SD symbol. Contact me privately for a full version.
Some Honeywell printers support the ZPL II language to make them compatible with Zebra and facilitate replacement. So this library might work on Honeywell as well



Anyone who wants a different version from those distributed (such as Bluetooth SPP, USB, RS) can contact me privately.
OS
Bluetooth SPP
BLE (Beacon)
USB
LAN / WIFI
RS 232
NFC
Android​
x (On request)​
x​
x (on request)​
x​
iOs​
x​
x​
Window​
x (On request)​
x (on request)​
x​



aSD_Zebra

Author:
Star-Dust
Version: 1.09
  • BLEZebraPrinter
    • Events:
      • BLEisOFF
      • Connected (services As List)
      • Disconnected
      • ImageWriteComplete
      • PrinterFound (Name As String, ID As String)
      • StateChanged (msg As String)
      • WriteComplete (Characteristic As String, Success As Boolean)
    • Fields:
      • CharatteristicName As String
      • currentState As Int
      • Encoding As String
      • Rotate180 As String
      • Rotate270 As String
      • Rotate90 As String
      • RotateNormal As String
      • ServiceName As String
    • Functions:
      • Active (CodeActivation As String) As String
      • AddBarCode (X As Int, Y As Int, Height As Int, Code As String, Size As Int) As String
        CODE 128
        Zebra.AddBarCode(50,50,"1234567890",5)
      • AddBarCodeEAN13 (X As Int, Y As Int, Height As Int, Code As String, Size As Int) As String
        EAN13
        Zebra.AddBarCodeEAN13(50,50,"1234567890",5)
      • AddCircle (X As Int, Y As Int, radius As Int, StrokeWidth As Int, Filled As Boolean) As String
        Zebra.AddCircle(50,50,25,3,false)
      • AddHorizLine (X As Int, Y As Int, Width As Int, StrokeWidth As Int) As String
        Zebra.AddHorizLine(50,50,700,3)
      • AddImage (X As Int, Y As Int, bmp As B4XBitmap) As String
        Zebra.AddImage() ' not active
      • AddQRcode (X As Int, Y As Int, Height As Int, Code As String, Size As Int) As String
        Zebra.AddQRcode(50,50,"1234567890",5)
      • AddRaw (Text As String) As String
      • AddRectangle (X As Int, Y As Int, Width As Int, Height As Int, StrokeWidth As Int, Filled As Boolean, InvertBrush As Boolean) As String
        Zebra.AddRectangle(50,50,100,100,3,false,false)
      • AddRectangleRounded (X As Int, Y As Int, Width As Int, Height As Int, StrokeWidth As Int, Filled As Boolean, Rounded As Int) As String
        Zebra.AddRectangleRounded(50,50,100,100,3,false,5)
      • AddText (X As Int, Y As Int, Text As String, TextSize As Int, Bold As Boolean) As String
        Zebra.AddText(50,50,"Text",50, false)
      • AddTextRotate (X As Int, Y As Int, Text As String, TextSize As Int, Bold As Boolean, Rotation As String) As String
        Zebra.AddTextRotate(50,50,"Text",50, false,Zebra.RotateNormal)
        Zebra.AddTextRotate(50,50,"Text",50, false,Zebra.Rotate90)
      • AddVertLine (X As Int, Y As Int, Height As Int, StrokeWidth As Int) As String
        Zebra.AddVertLine(400,100,300,3)
      • Class_Globals As String
      • Connect (ID As String) As String
        CharatteristicName = "2AF0" or "2AF1"
      • Disconnect As String
      • Initialize (CallBack As Object, EventName As String) As String
        Initializes the object. You can add parameters to this method if needed.
      • IsInitialized As Boolean
        Verifica se l'oggetto sia stato inizializzato.
      • Preview As String
        Evito di usare okHttpUtils
      • Print As String
      • ScanPrinter As String
      • StopScanning As String
    • Properties:
      • isConnect As Boolean [read only]
      • isScanning As Boolean [read only]
      • LabelWidth
      • Raw As String [read only]
  • LanZebraPrinter
    • Events:
      • Opened (Success As Boolean)
      • Preview (Success As Boolean, bmp As B4XBitmap)
    • Fields:
      • desktop As Int
      • Encoding As String
      • Mobile As Int
      • Rotate180 As String
      • Rotate270 As String
      • Rotate90 As String
      • RotateNormal As String
    • Functions:
      • Active (CodeActivation As String) As String
      • AddBarCode (X As Int, Y As Int, Height As Int, Code As String, Size As Int) As String
        Code 128
        Zebra.AddBarCode(50,50,"1234567890",5)
      • AddBarCodeEAN13 (X As Int, Y As Int, Height As Int, Code As String, Size As Int) As String
        EAN13
        Zebra.AddBarCodeEAN13(50,50,"1234567890",5)
      • AddBarCodeEAN8 (X As Int, Y As Int, Height As Int, Code As String, Size As Int) As String
        EAN8
        Zebra.AddBarCodeEAN8(50,50,"1234567890",5)
      • AddCircle (X As Int, Y As Int, radius As Int, StrokeWidth As Int, Filled As Boolean) As String
        Zebra.AddCircle(50,50,25,3,false)
      • AddHorizLine (X As Int, Y As Int, Width As Int, StrokeWidth As Int) As String
        Zebra.AddHorizLine(50,50,700,3)
      • AddImage (X As Int, Y As Int, bmp As B4XBitmap) As String
        Zebra.AddImage() ' not active
      • AddQRcode (X As Int, Y As Int, Height As Int, Code As String, Size As Int) As String
        Zebra.AddQRcode(50,50,"1234567890",5)
      • AddRaw (Text As String) As String
      • AddRectangle (X As Int, Y As Int, Width As Int, Height As Int, StrokeWidth As Int, Filled As Boolean, InvertBrush As Boolean) As String
        Zebra.AddRectangle(50,50,100,100,3,false,false)
      • AddRectangleRounded (X As Int, Y As Int, Width As Int, Height As Int, StrokeWidth As Int, Filled As Boolean, Rounded As Int) As String
        Zebra.AddRectangleRounded(50,50,100,100,3,false,5)
      • AddText (X As Int, Y As Int, Text As String, TextSize As Int, Bold As Boolean) As String
        Zebra.AddText(50,50,"Text",50, false)
      • AddTextRotate (X As Int, Y As Int, Text As String, TextSize As Int, Bold As Boolean, Rotation As String) As String
        Zebra.AddTextRotate(50,50,"Text",50, false,Zebra.RotateNormal)
        Zebra.AddTextRotate(50,50,"Text",50, false,Zebra.Rotate90)
      • AddVertLine (X As Int, Y As Int, Height As Int, StrokeWidth As Int) As String
        Zebra.AddVertLine(400,100,300,3)
      • Class_Globals As String
      • Clear As String
      • Close As String
      • Initialize (Callback As Object, Event As String) As String
        Initializes the object. You can add parameters to this method if needed.
      • IsInitialized As Boolean
        Verifica se l'oggetto sia stato inizializzato.
      • Open (Host As String, TypePrinter As Int) As String
        Zebra.Open("192.168.1.202",Zebra.desktop)
      • Preview As String
        Evito di usare okHttpUtils
      • Print As String
      • PrintAndClose
    • Properties:
      • LabelWidth
      • Raw As String [read only]


Update log
  • 1.01
    • Added printer type parameter on the Open method. It can be desktop or mobile printer
    • Added AddTextRotate command. Enter constants to pass as parameter (RotateNormal, Rotate90, Rotate180, Rotate270)
  • 1.02 Added method AddImage
  • 1.03 Fix bugs
  • 1.05 Added class for printing with BLE (BLE Not available for B4J)
  • 1.06 Fix bugs
  • 1.07 Added AddBarCodeEAN13 method
  • 1.08 Added AddBarCodeEAN8 method and Fix Bug
  • 1.09 Fix Bugs on authentication and streaming channel
I am a student
I want to use the library you created and I want to donate
 

jaelani

Member
Example LAN

B4X:
Sub Button1_Click
    Dim Zebra As LanZebraPrinter
    Zebra.Initialize(Me,"Zebra")
 
    Zebra.AddText(240,50,"Intershipping, Inc.",60,True)
    Zebra.AddText(240,115,"1000 Shipping Lane",30,True)
    Zebra.AddText(240,155,"Shelbyville TN 38102",30,True)
    Zebra.AddText(240,195,"United States (USA)",30,True)
    Zebra.AddHorizLine(50,250,700,3)
    Zebra.AddBarCode(50,300,200,"123456789",3)
 
    Zebra.Open(TextHost.Text,Zebra.desktop)
    Wait For Zebra_Opened(Success As Boolean)
    If Success Then Zebra.PrintAndClose
End Sub

Private Sub Button2_Click
    Dim Zebra As LanZebraPrinter
    Zebra.Initialize(Me,"Zebra")
 
    Zebra.AddText(240,50,"Intershipping, Inc.",60,True)
    Zebra.AddText(240,115,"1000 Shipping Lane",30,True)
    Zebra.AddText(240,155,"Shelbyville TN 38102",30,True)
    Zebra.AddText(240,195,"United States (USA)",30,True)
    Zebra.AddHorizLine(50,250,700,3)
    Zebra.AddBarCode(50,300,200,"123456789",3)

    Zebra.Preview ' Requires an internet connection
    Wait For Zebra_Preview(Success As Boolean, bmp As B4XBitmap)
    If Success Then ImageView1.SetBitmap(bmp.Resize(ImageView1.Width,ImageView1.Height,True))
 
    Sleep(100)
    Zebra.Close
End Sub

Example BLE
B4X:
Sub Process_Globals
    'These global variables will be declared once when the application starts.
    'Public variables can be accessed from all modules.
    Public App As Application
    Public NavControl As NavigationController
    Private Page1 As Page
    Private xui As XUI
  
    Private ZebraBLE As BLEZebraPrinter
End Sub

Private Sub Application_Start (Nav As NavigationController)
    NavControl = Nav
    Page1.Initialize("Page1")
    Page1.RootPanel.LoadLayout("Page1")
    NavControl.ShowPage(Page1)
  
    ZebraBLE.Initialize(Me,"ZebraBLE")
End Sub

Private Sub ButtonSearchBLE_Click
    ZebraBLE.ScanPrinter
End Sub

Private Sub ZebraBLE_PrinterFound(Name As String, ID As String)
    Log(Name)
    ZebraBLE.CharatteristicName="2AF1" ' Print Service
    ZebraBLE.Connect(ID)
End Sub

Private Sub ZebraBLE_Connected(services As List)
    ZebraBLE.AddText(40,40, "Test to print",40,True)
    ZebraBLE.Print
End Sub

For an example to print PDF files see here
I am a student
I want to use the library you created and I want to donate
please contact me at email azriakmalkafi@gmail.com
 

Star-Dust

Expert
Licensed User
Longtime User

DonManfred

Expert
Licensed User
Longtime User
how to contact you personally through forums.
click on his username and use START CONVERSATION

Snap1.png
 

Star-Dust

Expert
Licensed User
Longtime User
Updarte rel 1.10
  • Added USB communication in B4J version
  • Fix bugs QR code
  • Added example for USB to post #2

Note: In order to use the library (B4J) to print with zebra, the printer driver must be installed on the PC.
 
Last edited:

jaelani

Member
how do i set the spacing and thickness of the boxes
 

Attachments

  • IMG_2023-09-03-07-32-19-077.jpg
    IMG_2023-09-03-07-32-19-077.jpg
    312 KB · Views: 81

Star-Dust

Expert
Licensed User
Longtime User
I think you didn't look carefully at the parameters. In lines and rectangles the thickness you establish with StrokeWidth
The distance between the rectangles (or any other object) you determine when you set the x and y coordinates.

It may be useful for you to read up on Zebra printers and their ZPL language.

PS. Do not write privately to ask for information or assistance. Some questions are already answered in the first post where the library is presented or in subsequent posts because someone else has already asked the same question.
 

jaelani

Member
After donating, this feature will be active

AddImage (X As Int, Y As Int, bmp As B4XBitmap) As String
Zebra.AddImage() ' not active
 
Top