If you get the same broken results as before after doing my pdftopdf short circuit, do not undo the short circuit for the following test. Otherwise, undo it with
It looks like that one of the filter produces broken PDF and the next filter (most probably cpdtocps which calls pdftops which in turn calls /usr/bin/pdftops and that one uses libpoppler as the PDF renderer). The errors and warnings in the error log show that libpoppler is complaining and not Ghostscript (Linux has two PDF renderers: libpoppler and Ghostscript).
Let us run the filter chain stopping one step before cpdftocps:
This leaves out the pdftopdf filter (so doing this test makes only sense if you did not short-circuit pdftopdf). Do the same steps as described above with the output files.
If you get the same broken results as before after doing my pdftopdf short circuit, do not undo the short circuit for the following test. Otherwise, undo it with
sudo mv /usr/lib/ cups/filter/ pdftopdf. orig /usr/lib/ cups/filter/ pdftopdf
It looks like that one of the filter produces broken PDF and the next filter (most probably cpdtocps which calls pdftops which in turn calls /usr/bin/pdftops and that one uses libpoppler as the PDF renderer). The errors and warnings in the error log show that libpoppler is complaining and not Ghostscript (Linux has two PDF renderers: libpoppler and Ghostscript).
Let us run the filter chain stopping one step before cpdftocps:
cupsfilter -m application/ vnd.cups- pdf -p /etc/cups/ ppd/<yourbroken queue>. ppd > output.pdf 2> error_log.txt
Attach the two output files output.pdf and error_log.txt to this bug report.
Does error_log.txt contain warnings or errors? Does output.pdf get created and is it not empty?
Try to display output.pdf on the screen. Start with evince. Is it correctly displayed? Or does it show artifacts similar to your printouts?
Try to display it with Ghostscript by running
gs output.pdf
Does this work better? Or does it show the same problems?
Try also
cupsfilter -m application/pdf -p /etc/cups/ ppd/<yourbroken queue>. ppd > output2.pdf 2> error_log2.txt
This leaves out the pdftopdf filter (so doing this test makes only sense if you did not short-circuit pdftopdf). Do the same steps as described above with the output files.
Try finally
cupsfilter -m application/ vnd.cups- postscript -p /etc/cups/ ppd/<yourbroken queue>. ppd > output3.ps 2> error_log3.txt
This adds the execution of cpdftocps. Proceed with the output files as described above. For screen-displaying the output, use only Ghostscript:
gs output3.ps
Does this file display correctly?