- 10 Oct
Filemaker Go and Mobi Print Example (print filemaker layouts) to a Bluetooth Mobile printer
A guide for iOS Mobile printing using Filemaker Go
Here is a great solution for you filemaker guys! This is a true mobile solution for printing to a Zebra imz320 (bluetooth mfi). Filemaker solutions hit the Mobi Print team close to heart..without filemaker, we may not have designed Mobi print. We have had privilege of working with some great filemaker developers over the years, and recently Colibri Solutions came to the Mobi Team to help design a way to approach a common problem. Elegantly print a receipt that doesn’t require a network connection. Below is the solution we came up with, enjoy!
A few weeks ago, we described a new method to print from FileMaker Go 13 to a Zebra iMZ-series mobile printer for mobile labels, invoices, or tickets. Today, we are releasing a demo invoice file – FMGoMobiPrint.fmp12 – to show how it works.
Let’s recap our goals for printing to a mobile printer:
– Address the Mobi Print iOS app directly from a FileMaker Go solution and print to a Zebra mobile printer in a way that resembles AirPrint.
– Design the output within FileMaker layouts (no external templates).
– Print in environments without Internet connectivity.
– Leave the end user largely unaware of the transaction taking place between the two applications. They simply click the Print button on the FileMaker layout.
What you Need to Print
– Apple iPad with iOS 7
– FileMaker Go 13
–Filemaker mobile printer (certified)
– Mobi Print 2.71
– Zebra iMZ-series printer. The demo file has been set up for the iMZ320 3-inch wide printer, but other iOS compatible models are available at 2 and 4 inches wide. Contact Arrowhead Corporation about obtaining Zebra mobile printers, and be sure to refer to this post!
How To Set It Up – The Relevant Scripts and Fields
Review the Print Invoice script in the FileMaker Go demo file. It is fully self-documented.
Basically, the script goes to the related line items for an invoice using a layout formatted for printing based on the invoice line items table. The records are saved to a PDF file and stored in the Temporary folder on the iPad.
The script then imports the PDF back into a container field in the demo file and Base64 encodes the PDF file to a $FileEncoded variable. Using the Open URL script step and the arrowhead:/ protocol, FileMaker Go calls the Mobi Print app which opens, decodes the $FileEncoded variable, prints the resulting PDF, and then returns to the demo file and fires off a success script that timestamps the invoice.
The demo file shows the arrowhead:/ calls to either fire off a success script or simply return to FileMaker Go.
The required fields are all found in the Invoice table: g_Base64 (global text), o_Invoice (container), and TimestampPrinted.
The layout for the print job is Invoice (Mobi Print). The layout is designed for an 8.5 x 11 US letter-sized page, and the Mobi Print app will resize the PDF image down to fit on a 3-inch wide paper roll. Accordingly, the elements are as big as possible in the layout.
A second layout, Test (Mobi Print) and another container field, o_Test, are used by the Print Test script to print a test job and ensure that FileMaker, Mobi Print and the printer are all in sync.
Note: The current version of MobiPrint handles best FileMaker layouts that are designed for US letter format, and the resulting printouts have the best quality. Mobi Print can handle custom sizes, but your results may vary, particularly if your output goes over one page. The publishers of MobiPrint are working on an upcmoming version that will print FileMaker layouts without resizing, so developers could conceivably create a custom page size of 3 x 20 and place objects and text on the layout at their actual size.
For more info you can download the sample database here.
If in need for filemaker support, our good friends at Colibri Solutions can help you out.
About the Author