PDF Printing Made Simple
Steven Si
Sr. Software Engineer
1
PDF Emulation - Benefits
a.k.a. PDF Direct, is part of the Printer Emulations Family
• Simplifies the Printing of PDFs
• Eliminates Middleware Dependency
3rd Party Shipping API
• No Need to Learn Specific Printer Languages Shipping Label
• Print Documents
• Eliminates Need to Scale Documents
• Reduces Scanning Errors
ZEBRA TECHNOLOGIES 2
Printer Emulations
Virtual Devices are now called Printer Emulations
• On-printer Apps
– Enable the use of a variety of printer command Factory Installed since
languages Link-OS 6.4*
PDF, Datamax, ESC-POS,
• Optimized Intermec, Monarch, Sato
All Emulations
– Ensure fast throughput, while delivering high quality are Available
labels and receipts on the Printer
Emulations
webpage on
zebra.com Apex, Boca, Label Point,
• Multiple Emulations Microcom, O’Neil, Printronix,
– Can be installed to a single printer TEC
• Printers with emulation installed
– Can be managed and secured using the Printer
Profile Manager Enterprise application
ZEBRA TECHNOLOGIES
Printer Emulations
Supported printers
Desktop Mobile Industrial
1. ZD200 12. ZQ310 25. ZT210 Factory Installed since
2. ZD888 13. ZQ320 26. ZT220 Link-OS 6.4*
3. ZD410D 14. ZR318 27. ZT230
4. ZD420C 15. ZR328 28. ZT411 PDF, Datamax, ESC-POS,
5. ZD420D 16. ZQ511 29. ZT421 Intermec, Monarch, Sato
6. ZD420T 17. ZQ521 30. ZT510 All Emulations
7. ZD500 18. ZQ610 31. ZT610 are Available
8. ZD500R 19. ZQ620 32. ZT620 on the Printer
9. ZD510 20. ZQ630 33. ZE511 Emulations
10. ZD620D 21. ZR658 34. ZE521 webpage on
zebra.com Apex, Boca, Label Point,
11. ZD620T 22. ZR668 Microcom, O’Neil, Printronix,
12. ZD421C TEC
13. ZD421D
14. ZD421T
15. ZD621D
16. ZD621T
* ZT2x0, ZD2xx and ZR3x8 series printers are the exception. They will not have the emulations
factory installed due to memory constraints.
ZEBRA TECHNOLOGIES
Printer Emulations – Where to Find?
https://www.zebra.com/us/en/support-downloads/printer-software/printeremulations.html
• Emulations are available for download on zebra.com
– By searching for the “Printer Emulations”
• Factory installed emulations
– Available for download from the firmware section of the
printer support webpage
PDF Emulation is inside the
downloaded zip file
ZEBRA TECHNOLOGIES
Printer Emulations Installation
On Mobile
• The emulations can be installed via one of
the following tools.
– Printer Setup Utility for Android and iOS
– Printer Setup Utility for Windows
– Z-Downloader for Windows
• PDF emulation
– Virtual-Dev-PDF-vXXX-YY.NRD
– Inside the IncludedPrinterEmulations.zip,
downloaded from the Factory Installed
Printer Emulations file
ZEBRA TECHNOLOGIES
Printer Emulations Installation - Windows
• Printer Setup Utilities for Windows • Zdesigner Driver
4
2
1 3
5 1 4
6
5
6
ZEBRA TECHNOLOGIES
PDF Emulation Enable / Disable
a.k.a. PDF Direct
• Enable/Disable PDF Emulation
– ! U1 setvar "apl.enable" "pdf"
– ! U1 setvar "apl.enable" "none"
• Configure PDF Emulation Settings
– ! U1 setvar "apl.settings" "dither scale=50x50 scale-to-fit no-varlen orient=N"
ZEBRA TECHNOLOGIES 8
PDF Emulation Settings - "apl.settings"
a.k.a. PDF Direct
• dither: Dithering
– Off by default.
• scale: Scale Factor
– Off by default. Scale=WxH, where the W and H are percentages, ranging from 1 to 100.
• scale-to-fit: Auto-Scale/Rotate
– Off by default. Modifies the size of the text & image to fit the media and rotates if needed. Takes
precedence over scale. Example:
– ! U1 setvar "apl.settings" "scale-to-fit no-varlen orient=N"
• no-varlen: Variable Length
– On by default in journal mode, which disables the scale-to-fit. To turn off, include no-varlen in apl.settings.
Example:
– ! U1 setvar "apl.settings" "scale-to-fit no-varlen"
• Orient: Orientation (N/I)
– Top-first (Inverted) by default. To change, include orient=N in apl.settings.
ZEBRA TECHNOLOGIES 9
Printer Emulations – Query the Settings
! U1 getvar "apl"
Received:6 bytes
apl.
Received:201 bytes
apl.enable : pdf , Choices: pdf,none
apl.framework_version : 1.3
apl.version : 2.08-02
apl.settings : scale-to-fit no-varlen orient=N
apl.o.
apl.o.graphics_byte_width : 48 , Choices: 0-255
ZEBRA TECHNOLOGIES
Delete PDF Emulation
• Disable PDF Emulation • Or Use JSON
– ! U1 setvar "apl.enable" "none" – {}{
– "apl.enable" : "none"
• Clear PDF Emulation Settings
– "apl.settings" : ""
– ! U1 setvar "apl.settings" ""
– "file.delete" : "pdf.apl"
• Delete PDF Emulation – }
– ! U1 do "file.delete" "pdf.apl”
• Use SGD
– ! U1 setvar "apl.enable" "none"
– ! U1 setvar "apl.settings" ""
– ! U1 do "file.delete" "pdf.apl”
ZEBRA TECHNOLOGIES
PDF Print Programmatically
Use Link-OS Multiplatform SDK
• Supported Connectivity Send PDF file with sendFileContents() API in Link-OS SDK
– Serial Port
– Parallel Port
– USB
– Bluetooth®
• Classic
• Low Energy
– Network
• TCP
– Cloud-Connection
• WebSocket (Link-OS 6.7 or later)
ZEBRA TECHNOLOGIES
PDF Print Programmatically
Use the SendFileToPrinter API – Cloud-based Printing
curl -X 'POST' \
'https://api.zebra.com/v2/devices/printers/send' \
-H 'accept: text/plain' \
-H 'apikey: UUBPTeoGjN68qQqg4BONmalfTyFXa33z' \
-H 'tenant: bb62a0cd13e235750402689a723309b1' \
-H 'Content-Type: multipart/form-data' \
-F 'sn=XXZJJ174600934' \
-F 'zpl_file=@ZebraLogo_2x2.pdf;type=application/pdf'
ZEBRA TECHNOLOGIES
PDF Print Programmatically
Use the Browser Print SDK – JavaScript API
ZEBRA TECHNOLOGIES
Resources
• Printer Emulations Download
– https://www.zebra.com/us/en/support-downloads/printer-software/printeremulations.html
• PDF Emulation (a.k.a. PDF Direct)
– https://www.zebra.com/us/en/software/printer-software/pdf-direct-printer-emulation.html
• PDF Emulation Settings
– https://www.zebra.com/content/dam/zebra_new_ia/en-us/manuals/printers/common/programming/zpl-zbi2-
pm-en.pdf#page=650
ZEBRA TECHNOLOGIES
Questions
ZEBRA TECHNOLOGIES
Thank You
ZEBRA and the stylized Zebra head are trademarks of Zebra Technologies Corp., registered in many
jurisdictions worldwide. All other trademarks are the property of their respective owners.
©2023 Zebra Technologies Corp. and/or its affiliates. All rights reserved.
ZEBRA TECHNOLOGIES