Allows to print ZPL to a network connected Zebra printer.
NOTE: This is an extension useful for developers who want to simply print ZPL labels directly from their web apps.
Most Zebra Printers have a HTTP POST endpoint through which ZPL can be directly printed without the need for an installed driver, print dialogs popping up or other locally installed software.
Unfortunately those printers don't set any CORS headers which makes it impossible to use this HTTP endpoint in modern browser-based apps.
This extension circumvents this issue.
In your web app you can now directly print to Zebra printers by using window.postMessage():
window.postMessage({
type: "zebra_print_label",
zpl: "^XA^PW400^LL200^FO20,20^A0N,30,30^FDThis is a TEST^FS^XZ",
url: "http://192.168.37.36/pstprnt";
}, "*");
The Zebra Printing extension will listen to those messages and print the zpl to the url.
type: The extension will only pick up messages where the type is zebra_print_label
zpl: The ZPL string to be printed
url: The URL of the printer
The extension will also post a message to the web page upon loading. This way in your web app you can check if the extension is installed:
window.addEventListener("message", function (event) {
if (!event.data.ZebraPrintingVersion) {
return;
}
// extension installed, enable print button or whatever...
console.log(event.data);
});
The event will contain two fields:
ZebraPrintingExtensionId: The extension ID (ndikjdigobmbieacjcgomahigeiobhbo)
ZebraPrintingVersion: The version number of the installed extension
A simple example can be found here:
https://danielnitz.github.io/zebra-printing-chrome-extension/web-app-example/index.html
Latest reviews
- (2023-06-25) Ilmi Nur Azis Aqli Mubarok: This awsome extension makes my life easier, thank you very much!
- (2022-12-30) Pawel Suwala: Absolutely brilliant workaround for printing directly from the browser. Works as advertised. I'm using it every day - thank you!
- (2020-10-06) Maarten Wolzak: Works as advertised. Perfect to start learning ZPL! Please be aware that this plugin enables you to make your printer-setup insecure and sensitive to Man-In-The-Middle attacks from hackers. I advise you to never use this plugin in a production environment. Instead: load a TLS certificate to your printer to enable HTTPS communication! But again: This plugin is a real help!