I use a print-on-demand company (lulu.com) that has always been picky and inconsistent about the PDF files they accept. I'm giving them files produced by pdftex. They use various subcontractors to fill orders (e.g., a Spanish one for European orders), and the subcontractors use different hardware and software. The result is that a book will print 100 times over a period of years, and then one day a certain subcontractor will try to print it, it will fail, and lulu will make the book unavailable for several days until they'll allow me to upload the same PDF file again -- which will then work fine for the next n orders. Recently they have gotten better about at least reporting what the specific error is. For the first time, they've sent me a screenshot from PitStop Pro, reading: "critical failures. failure (critical parser failure: XObject resource missing) occurred during Select all (6x on pages 243-244)." Lulu also says, "Usually this means there is some corruption int he file that might cause an issue. While the book has printed one other time, this issue makes the file unstable and could cause the file to continue to print sometimes and not others."

PitStop Pro is $800 proprietary software that doesn't run on the OS that I use (linux), so buying it isn't an option for me. Even if I bought it and could run it, this error message wouldn't help me to fix the problem. I've tried preflighting the book using open-source software as follows:

qpdf --check genrel_lulu_failed.pdf 
gs -dBATCH -dNOPAUSE -sDEVICE=pdfwrite -sOutputFile=b.pdf genrel_lulu_failed.pdf

Neither qpdf's parser not GhostScript's has any problem with the file, which was output by pdftex. Pdffonts reports that all fonts are embedded, none are subsetted, and none are multiply embedded.

The two pages referred to in the error message contain pdf figures output by inkscape. The figures aren't anything huge that would be expected to crash a parser due to a lack of memory. I have several hundred existing figures in various books that were all done with inkscape.

If anyone cares to take a look, here is the book: http://www.lightandmatter.com/lulu_stackexchange/book.pdf

Lulu says there are commercial services that will fix my file, but I suspect that those services would say, "OK, first give us your MS Word file..."

Does anyone have any suggestions for how to deal with this problem?

  • 3
    I can't answer how to fix it, but I can tell you that Adobe X Acrobat Professional 10.1.4 preflight tool agrees that there are syntax errors (missing XObjects) on PDF pages 243, 244 (book pages 245,246). Acrobat is proprietary, but much less than $800, and usually you can get academic or other discounts to push it down to less than $100, or it may be site-licensed by your employer... The missing objects are color spaces and graphics states, amongst other things. I can run preflight on the raw inkscape pdfs for you to see if it is an inkscape bug or a problem with pdftex's embedding. – Lev Bishop Sep 6 '12 at 4:03
  • 1
    @MartinSchröder: Good point. I used pdftk to strip the cover page off of that one, so it's really pdftk output, not pdftex output. The direct output from pdftex is this file: lightandmatter.com/lulu_stackexchange/book_pdftex.pdf – Ben Crowell Sep 6 '12 at 21:42
  • 1
    @BenCrowell: Iff the problem is on the page numbered 247 in the book, I fear the problem is with the inclusion of ./ch08/figs/cavendish.pdf and most likely with page transparencies. You could try to convert that figure to PDF 1.3. Updating to the latest version of pdfTeX (from TeXLive 2012) may also help. – Martin Schröder Sep 6 '12 at 21:57
  • 1
    @BenCrowell, no error with book_pdftex.pdf so looks like a pdftk error. On the other hand, the output of pdftk book_pdftex.pdf cat 3-end output book_pdftex_nocover.pdf also has no syntax error, so not sure what to make of this... – Lev Bishop Sep 7 '12 at 14:06
  • 2
    Ghostscript bug opened here: bugs.ghostscript.com/show_bug.cgi?id=693322 – Lev Bishop Sep 7 '12 at 16:06