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.
Sorry, I have given you the wrong cupsfilter command lines, so do exactly the following:
Undo the short circuit for the following test doing
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 /usr/share/ cups/data/ testprint. ps > 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 /usr/share/ cups/data/ testprint. ps > 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 /usr/share/ cups/data/ testprint. ps > 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?
Note that instead of /usr/share/ cups/data/ testprint. ps you can also use any other PostScript or PDF file, but use the same file for all tests.
Please attach all output* and error_log* files, also if you cannot display the files with Ghostscript and/or evince.