Working with Old Raspberry Pi /CUPS/Brother QL-570 Label Printer

Hi all,

I’ve been working to get a Brother QL-570 label printer working with Raspbian on a Model B Revision 2.0 Raspberry Pi.

Got CUPS installed and working fine, test page no problem.

First Issue: Long delay (around 30 seconds) to get the test page printed. I tried to address this by reconfiguring the printer setup for “Raw Printing” (linux - Creating a raw printer queue in CUPS (host) and adding them through CUPS (client) - Stack Overflow) but was unable to print test pages from the RPi. So I’m not sure if it worked.

Second issue: I’m trying to create a system for creating Parking Passes and Tickets for the TidySpace system at VHS. So ultimately allowing the user via a webpage to fill in HTML form values, and passes them into a template for printing on the printer.

I tried setting up https://qz.io/ to simplify things, but ran into configuration issues because JavaFX was removed from the Java8 JDK: JDK for ARM 8 Update 33 Release Notes

Can anyone suggest a good approach for generating timestamped tickets with fields populated on a webpage with this hardware?

Here’s how I would accomplish this off the top of my head (and with a bit of googling). You’ve undoubtedly thought of some of this already, but I’ll write it all out in case it creates a new lead for you try.

  1. Create a python webapp which runs on the RasPi, and serves a web page internally at http://tidy.vanhack.ca (similar to how the laser pi works). For this you could use Pyramid or Flask or something else.

  2. Create a python module that can generate a PostScript file dynamically using PSFile.

    Or, it may be possible to create PostScript “templates” elsewhere such as Illustrator, and leave placeholders like $#NAME#$ in the text. Then use python to do string replacement to change those placeholders out for specific values.

  3. Set up the printer with the RasPi such that you can print using the lpr command line utility as described here. This might be quite fiddly, but can be worked on and tested without worrying about Python. Just make sure it’s possible to print a PostScript file with lpr test.ps.

  4. Hook it all together. The Web app authenticates with Nomos (or whatever), has an interface to request and catalogue parking tickets, and has a “Print ticket” function which:

    • Uses PSFile to dynamically generate a PostScript file with the desired information
    • Pipes the contents of that file to lpr

Alternatively, I learned that wxPrint has HtmlEasyPrinting functionality which I think lets you pipe an HTML-formatted document to it, and it’ll print it. That sounds convenient, but surely has a lot more complicated things internally (like an entire web rendering engine?) so YMMV.

Possibly completely off-topic, but does the CUPS web UI and IPP help at all? IPP is super slow, but in my experience crazy-compatible.

The last time I went down this path I did it using the LFS guide, which may be of some help. Cups-2.1.4

Hey Ryan - by web UI do you mean this? Just curious. That’s what I use with my CUPs install.

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.