I generate PDFs (estimates and invoices) with Billings Pro and the Benton Sans Compressed Book font from Font Bureau (PostScript OpenType), and as of Mac OS X 10.6.7 these PDFs crash older versions of Apple Preview as well as Adobe Acrobat 8 and 9 on Mac and Windows. Not good!
Having created quite a few PDFs with Apple's new damaged/unorthodox font data format, I decided to look for a way to convert them back into a format that the rest of the world can understand. Here's what works for me.
- Download and install GhostScript 9.0.2 (www.ghostscript.com) and Poppler 0.16.4 (poppler.freedesktop.org). Source only, unfortunately, so you have to compile them yourself, and Poppler requires a few additional libraries. Easy if you have developer tools installed and are comfortable with the Terminal, pretty difficult otherwise. Perhaps somebody can make a tool that wraps this procedure into a nice drag-and-drop package.
- Run each damaged PDF through the following conversion sequence. Note that "pdftops" is part of the Poppler package, while "pdf2ps" and "ps2pdf" are part of GhostScript.
pdftops mypdf.pdf mypdf-poppler.ps
ps2pdf mypdf-poppler.ps mypdf-gs.pdf
pdf2ps mypdf-gs.pdf mypdf-gs.ps
ps2pdf mypdf-gs.ps mypdf-golden.pdf
The second two steps use GhostScript to take the PDF to PostScript and back again, and this is where the damaged font data gets rewritten so the final file is readable by Acrobat.
(You can in fact omit the second argument on the several command lines and overwrite the files as you go along. Please only do this if you know what you're doing.)
The first step uses Poppler to take the PDF to PostScript, and then it is converted back to PDF with GhostScript. Without this stage, I was unable to force GhostScript to use my chosen font (Benton Sans Compressed Book), no matter what I put in its configuration files. Apparently, Poppler modifies the font definition code in a way that allows GhostScript to locate the font, or else I am too stupid to set up GhostScript properly.
OTOH, converting to PostScript and back using Poppler (pdftops and pstopdf) does not eliminate the font corruption introduced by 10.6.7.
Klutzy, but I'm happy I can get back to work now.