Using the .NET class PrintDocument for printing to a Zebra printer

Article ID: 28196082



Topic or Information

This information is relavent to developers that want to develop an application in a .NET environment or programmatically print to Zebra printers

Applies To

.NET Environments Excludes ZQ110, EM220, EM220II


The .NET environment provides the PrintDocument class under the System.Drawing.Printing namespace.  This class is designed to communicate with the printer driver to send a print job.  While using PrintDocument is inefficient compared to other methods, it is very attractive in its universal implementation.  PrintDocument's only real requirement is the installation of a driver that points to the appropriate printer.  This being the case, PrintDocument is compatible with all of Zebra's printers, given that a properly configured driver is installed.  You can find an article on how to use PrintDocument at Microsoft: Read More>>.

One should consider using other means outside of PrintDocument when designing a print workflow.  Some of the disadvantages of using PrintDocument include:

  • Greatly reduced efficiency: PrintDocument relies on a .NET graphics object in which all of the design takes place.  Text fields, barcodes, and images can be placed in the graphics object, and will print accordingly.  However, instead of utilizing the printer's native printer language (such as ZPL, EPL, CPCL, or EPCL), which can represent objects such as barcodes and text with light-weight ASCII characters, PrintDocument composes a large graphics object and sends it directly to the printer to be printed.  In environments necessitating a speedy printout, PrintDocument may hurt performance.
  • Inability to control printer's status-checking and other functionality: As PrintDocument is merely sending a graphic down to the printer driver to be printed, it has no other inherent way to control the printer.  The printer languages and SDKs, on the other hand, provide immense capability to query the printer for information as well as instruct it to perform activities such as resets, blank label feeds, printing configuration labels, among other things.
  • PrintDocument requires a driver: PrintDocument can only print to printers via their driver. 

Alternatives to PrintDocument include using established Zebra software, utilizing Zebra's many and versatile Software Development Kits, and using the printer's native printer language.

+ Product Codes

  • 105SLPlus Industrial Printers
  • 105SLPlus Industrial Printers
  • 110PAX Print Engines (disc.)
  • 110Xi4 Industrial Printer
  • 140Xi4 Industrial Printer
  • 170Xi4 Industrial Printer
  • 220Xi4 Industrial Printer
  • 2824 Plus Series
  • 2824-Z Series
  • All Surface RFID Label Solution
  • Desktop Printers
  • G-Series GC Desktop Printers
  • G-Series GK Desktop Printers
  • G-Series GX Desktop Printers
  • GC420d Desktop Printer
  • GC420t Desktop Printer
  • GK420 Healthcare Desktop Printers
  • GK420d Desktop Printer
  • GK420d Healthcare Desktop Printer
  • GK420t Desktop Printer
  • GK420t Healthcare Desktop Printer
  • GT800 Desktop Printer
  • GX420Rx Desktop Printer
  • GX420d Desktop Printer
  • GX420t Desktop Printer
  • GX430d Desktop Printer
  • GX430t Desktop Printer
  • HC100 Wristband Printer
  • HC100 Wristband Printer
  • Industrial Printers
  • LP 2824 Plus Desktop Printer
  • Mobile Printers
  • P4T Mobile Printers
  • P4T Mobile Printers
  • Print Engines
  • QL Series Mobile Printers
  • QL320 Mobile Printer
  • QL420 Mobile Printer
  • QLn Series Healthcare Mobile Printers
  • QLn Series Mobile Printers
  • QLn220 Healthcare
  • QLn220 Mobile Printer
  • QLn320 Healthcare
  • QLn320 Mobile Printer
  • QLn420 Mobile Printer
  • R110Xi4 RFID Printer
  • RFID Printers
  • RP4T RFID Printers
  • RP4T RFID Printers
  • RW 220 Mobile Printer
  • RW 420 Mobile Printer
  • RW 420 Print Station
  • RW Series Mobile Printers
  • TLP 2824Plus Desktop Printer
  • Xi Series Industrial Printers
  • ZD410 Series
  • ZD410D
  • ZD420 Series
  • ZD420-HC
  • ZD420C
  • ZD500 Desktop Printer
  • ZD500 Desktop Printer
  • ZD500R RFID Printers
  • ZD500R RFID Printers
  • ZE500 Print Engines
  • ZE500 Print Engines
  • ZE500R RFID Print Engine
  • ZE500R RFID Print Engine
  • ZM400
  • ZM600
  • ZQ500 Series Mobile Printers
  • ZQ510 Mobile Printer
  • ZQ520 Mobile Printer
  • ZR300 Series Mobile Printers
  • ZR338 Mobile Printers
  • ZR600 Series Healthcare Mobile Printers
  • ZR600 Series Mobile Printers
  • ZT200 Series Industrial Printers
  • ZT210 Industrial Printer
  • ZT220 Industrial Printer
  • ZT230 Industrial Printer
  • ZT400 Series Industrial Printers
  • ZT400 Series RFID Printers
  • ZT410 Industrial Printer
  • ZT410 RFID Industrial Printer
  • ZT420 Industrial Printer
  • ZT420 RFID Industrial Printer
  • iMZ Series Mobile Printers
  • iMZ220 Mobile Printer
  • iMZ320 Mobile Printer