FM ZPL Helper is a developer tool that you can use to create ZPL templates for label printing in FileMaker apps.
Printing with ZPL means NO printer drivers, NO plugins, NO barcode fonts/add-ons, and YES to iOS, YES to WebDirect, YES to Mac, YES to Windows, and YES to PSOS and Server Scheduled Scripts!
A short video walkthrough is available on our YouTube channel.
Download Now – Free and Unlocked (version 1.1.3, 2021-05-04)
The tool has an easy-to-use editor that allows you to design a label including text, shapes, barcodes, and graphics. Text can be designated as fixed or as merge fields.
Once your template is ready, there are 3 ways to export.
Select “ZPL Sample Data” and click “COPY” to get the raw ZPL with sample data included on your clipboard.
^XA^FO50,50^GB100,100,100,,^FS
^FO75,75^FR^GB100,100,100,,^FS
^FO93,93^GB40,40,40,,^FS
^FO220,50^A0,60,^FDFM Freight, LLC.^FS
^FO220,115^A0,30,^FDOne Apple Park Way^FS
^FO220,155^A0,30,^FDCupertino, CA 95014^FS
^FO50,250^GB700,3,3,,^FS
^FO50,300^AA,30,^FDDefine Database, Inc.^FS
^FO50,340^AA,30,^FD603-109 Ossington Avenue^FS
^FO50,380^AA,30,^FDToronto, ON M6J 0G1^FS
^FO50,420^AA,30,^FDCanada^FS
^FO50,500^GB700,3,3,,^FS
^FO60,550^BY5,,270^BCN,270,,,,A^FD123456789012345678^FS
^FO50,920^GB700,250,3,,3^FS^XZ
Select “ZPL FM Calculation” and click “COPY” to get a FileMaker calculation with merge field substitutions on your clipboard.
Let ([
~ToLine1 = "REPLACE WITH YOUR DATA";
~ToLine2 = "REPLACE WITH YOUR DATA";
~ToLine3 = "REPLACE WITH YOUR DATA";
~ToLine4 = "REPLACE WITH YOUR DATA";
~Barcode = "REPLACE WITH YOUR DATA"
];
Substitute ( "^XA^FO50,50^GB100,100,100,,^FS¶^FO75,75^FR^GB100,100,100,,^FS¶^FO93,93^GB40,40,40,,^FS¶^FO220,50^A0,60,^FDFM Freight, LLC.^FS¶^FO220,115^A0,30,^FDOne Apple Park Way^FS¶^FO220,155^A0,30,^FDCupertino, CA 95014^FS¶^FO50,250^GB700,3,3,,^FS¶^FO50,300^AA,30,^FD{{ToLine1}}^FS¶^FO50,340^AA,30,^FD{{ToLine2}}^FS¶^FO50,380^AA,30,^FD{{ToLine3}}^FS¶^FO50,420^AA,30,^FD{{ToLine4}}^FS¶^FO50,500^GB700,3,3,,^FS¶^FO60,550^BY5,,270^BCN,270,,,,A^FD{{Barcode}}^FS¶^FO50,920^GB700,250,3,,3^FS^XZ";
[ "{{ToLine1}}" ; ~ToLine1 ];
[ "{{ToLine2}}" ; ~ToLine2 ];
[ "{{ToLine3}}" ; ~ToLine3 ];
[ "{{ToLine4}}" ; ~ToLine4 ];
[ "{{Barcode}}" ; ~Barcode ]
)
)
Lastly, you can select “FM Script Steps” and click “COPY” to get FileMaker script steps on your clipboard – ready to paste into your script.
Requirements
FileMaker 16 or later (required for cURL)
A label printer that supports ZPL language (most Zebra printers and some third party printers), connects to your network and accepts POSTED ZPL data via the /pstprnt endpoint.
Updates
2021-02-10 – Version 1.1 now includes graphic conversion. Drag in your logo to covert it to ZPL!
2021-03-04 – Version 1.1.2 now includes new features: the ability to specify the label home position (normally 0,0 but you may want to change in special circumstances or you may want to specify 0,0 explicitly if you have other apps that might change it), print speed, and darkness for the entire label. An encoding issue that prevented preview of labels containing certain characters has been fixed. Minor UI updates.
2021-05-04 – Version 1.1.3 – fixed an error that prevented the correct options to show for diagonal line shapes.
What it can’t do
If your label printer connects directly to your computer (via USB, for example), you may be able to send ZPL to the printer via the command line or a Serial Plugin. You’ll need to figure this out yourself, but feel free to share your results and I would be happy to include in a future update!
The tool supports a small subset of the ZPL language. If there’s something you need that isn’t supported (like a different barcode symbology for example), feel free to have at the ZPL Programming Guide (linked from inside the app), or make your requests in the comments and I may add them to a future version of the tool.
ZPL commands can also be used to modify the settings of your printer, but this functionality is not part of FM ZPL Helper.
Acknowledgements
Label preview and graphic conversion relies on APIs by Labelary.com. If you’re interested in learning more about ZPL, Labelary has an excellent tutorial!
The invaluable BaseElements Plugin is used to create paste-able script steps. Thanks to Nick from Goya for adding gzip downloads for all plug-ins so that I could build the automatic download & install!
Really awesome! Thank you for all your work in making this!
I added ^B3 “code 39” (very common barcode in the U.S.)
Brilliant! Thanks for sharing.
Hi,
Although the Bixolon label printer is supporting ZPL, I fail to get anything out of this printer.
What can be wrong?
Any way to make higher ascii characters work?
ie, “Dāvīd” or “Macrõn”
Dāvīd, I don’t have experience with this but ChatGPT says you need to upload your own Unicode font to the printer or you might be able to use Hex Codes if the printer already supports Unicode. Hopefully this helps! https://chatgpt.com/share/674a860e-ab34-8000-9885-a13c30ba8661