Monday, September 7, 2026

[solved] cups stops printing PDF's after update

Suspect CUPS PDF filter issue; all other filetypes print. Could be corruption, deprecation, permissions, who knows. Happened after a system update. Error seems specifically the "cfFilterPDFToPDF" or, sometimes written as "cfFilterpdftopdf", CUPS filter.

CUPS has three filters when printing, and it appears to be the first one, the cfFilterpdftopdf. The other two filters, downstream of "cfFilterpdftopdf" exited with no errors.

tldr

The particular PDF, a rebate offer, was a locked PDF with restrictions not to print. Thus, it did not print, and I assumed other PDF's also did not print.

the usual toolbox

http://localhost:631 CUPS admin page
$ lpinfo -v info on all connected printers
# lpstat -o all print jobs
# cancel -a cancel all print jobs
# systemctl [enable/disable/start/stop/restart] cups.service
# lpadmin -p BrotherZ -E -v usb:/dev/bus/usb/lp0 -m brother_HLL2315.ppd add a printer and name it, eg. "BrotherZ"
# lpadmin -x Brother remove a printer by its installed name, eg. "Brother"
/var/log/cups/error_log CUPS error log location
/usr/share/cups/model/foo.ppd CUPS ppd file location

log error 01

Seems to be a PDF filter error
# tail -n 30 -f /var/log/cups/error_log
Set job-printer-state-message to "cfFilterChain: pdftopdf (PID xxxx) stopped with status 1", current level=ERROR
PID xxxx (/usr/lib/cups/filter/universal) stopped with status 1.
Need to add the new cups-pdf. A full CUPS install is now:
# pacman -S cups, cups-filters, libcupsfilters, cups-pdf

log error 02

After installing the PDF filter above and a "systemctl restart cups.service", we still seem to have a universal filter error, that's possibly permission-related.
# tail -n 30 -f /var/log/cups/error_log
printer-state-message="universal filter failed."
This failure is really generic though. We'd like more info, but didn't get any.