[Printing-architecture] Integration of MuPDF in the CUPS printing workflow

Till Kamppeter till.kamppeter at gmail.com
Thu May 16 14:26:35 UTC 2013


as talked about yesterday on the OpenPrinting Summit in the
Ghostscript/MuPDF session, I am sending here the information about what
has to be done to make the cups-filters package supporting MuPDF as PDF
renderer (and optionally as PDF manipulator).

As I have posted this work as a project idea for the GHoogle Summer of
Code (see
I cite my posting below. It contains a list of the filters to be changed
in the last paragraph.



The cups-filters project at OpenPrinting (included in all Linux
distributions using CUPS 1.6.x or newer) provides the filters needed to
convert the print job output of desktop applications (usually PDF) into
the printer's native language or into the universal CUPS/PWG-Raster
format as input for a separate printer driver. It also provides the
pdftopdf filter to apply page management (N pages per sheet, selected
pages, even/odd pages for manual duplex, mirror for iron-on sheets, ...)
to the PDF data stream.

A central part to make this work is a PDF renderer and many of the
filters are simply wrappers about a PDF renderer. Currently,
cups-filters supports Ghostscript and Poppler as PDF renderer. With this
project we want to add support for MuPDF as it is a more lightweight
renderer made by Artifex, the printing specialists who already made
Ghostscript. This is especially interesting for mobile devices with
limited meomory, mass storage, and CPU resources.

The student will have to modify all filters which need a PDF renderer
(pdftops, pdftoraster, pdftoijs, pdftoopvp, perhaps also pdftopdf) to
add support for MuPDF without dropping the existing support for
Ghostscript and Poppler. Switching between the renderers should be able
at run time, to make binary packages of cups-filters suitable for
systems of different form factors.

More information about the Printing-architecture mailing list