CUPS — the Common Unix Printing System — is an open source print spooling and scheduling system. One of the interesting aspects of CUPS is its filtering system, which can reconstitute print job data between formats. For example, rasterizing PDF graphics for output on non-PostScript printers.
Turns out there’s a CUPS filter for thermal printers similar to those Adafruit offers. With a little setup, it’s possible to have these producing razor-sharp graphics unlike anything I’ve seen from a thermal receipt printer before. Much nicer than our improvised Python library!
This guide is based on a tutorial by Stewart Russell, with some changes and additions to work with Adafruit’s various thermal printers.