At work, we use a web vendor that provides us output from a QuarkXpress PDF software on their web server. The PDFs we get from them will not print in Google Chrome on Ubuntu 12.04 (I have bastardized CUPS 1.5.0 parts into some 11.04 installs I maintain: that seems to work). We currently use Brother and Samsung printers: the vendor uses HP, and they said that works. If their PDF is saved as a new PDF (via "print as PDF" or most conversion tools), it will print fine; otherwise, its PCL XL errors and/or 95% of the page missing.
Multiple websites and bug reports online, point towards changing the MIME types in CUPS as a solution. For me, its a half solution: disabling some conversions can yield some output; but its still only 90% complete. However, the tool to fix the output, came with 12.04: pdftocairo. Using assorted online references + hints from the weird scripts Brother uses for its own drivers (which I don't really use), I was able to make my own print filter to "wash" PDF output. You're also supposed to be able to define your own MIME type rules: I ended up patching the default set instead.
I've tested this modification on an HL-4040 (default driver), an HL-2140 (default driver), and a MFC-8480 (Postscript driver worked; BRScript default driver is a maybe). It is my humble suggestion that someone endeavour to make a version of pdftocairo, that can be called directly to handle print job conversions.
Update 5-29-2012: changed the script significantly to support multi-copy printing. pdfunite comes with pdftocairo.
Update 6-1-2012: someone caught a typo in one of my paths.
1. In a terminal, sudo bash or login as root.
2. Make the /usr/lib/cups/filter/pdfwash file with your favorite text editor (nano or leafpad works).
3. Using the text editor, change the lines in the /usr/share/cups/mime/cupsfilters.convs file to look like what I posted.
4. chmod a+x /usr/lib/cups/filter/pdfwash
6. Exit the terminal.
# CUPS filter to wash PDF output for printing
# Version 1.1, 5-29-2012, Michael Adams, unquietwiki.com
# Make original copy of washed PDF
pdftocairo -q -pdf -origpagesizes $6 /tmp/pdfwash/0
# Attempt to make copies of PDF
for ((i=0;i<$4;i++)) do
cp /tmp/pdfwash/0 /tmp/pdfwash/$i
# Combine and display multi-copy, else the original single copy
if [ -e "/tmp/pdfwash/1" ]
pdfunite /tmp/pdfwash/* $temp_pdf
# Remove temp files
application/postscript application/pdf 0 pstopdf
application/vnd.adobe-reader-postscript application/vnd.cups-postscript 0 pstops
application/pdf application/vnd.cups-pdf 0 pdfwash
application/vnd.cups-pdf-banner application/vnd.cups-pdf 33 bannertopdf
#application/pdf application/vnd.cups-postscript 0 pdftops
#application/vnd.cups-pdf application/vnd.cups-postscript 0 pdftops
application/postscript application/vnd.cups-postscript 66 pstops
Related online tickets
* Google Chrome / Brother bug
* Poppler PDF bug
* Ubuntu Brother printing bug
* Debian Brother printing bug
* Another Debian print bug