How to use OS X Print/Save as Postscript to produce a custom sized page

postscriptprinting

I am trying to produce a press-quality CMYK PDF file from a Pages or MS Word document in OS X. The canned Print/PDF options produce insufficient quality in the images, and do not allow conversion to CMYK. I was following a recommendation to use Save as Postscript, and then Adobe Distiller (which I have on a separate, Windows machine) to get the right results. It all works great EXCEPT that I need a custom page size.

When I use PDF/Save as Postscript, it produces a US Letter size document, irrespective of the Page Size settings in Pages or in MS Word. In this case, I need to produce an 8.75 x 11.5" PDF (required by the publisher to support their workflow.

Any ideas?

Best Answer

After noodling on this question and worrying that my google-fu had atrophied, I sorted out something that works.

Edit the generic PPD file provided in Mac OS X to add the desired page size. I found the generic PPD file here: /System/Library/Frameworks/ApplicationServices.framework/Frameworks/PrintCore.framework/Resources/Generic.ppd

Follow the directions here https://stackoverflow.com/questions/1028891/whats-the-easiest-way-to-add-custom-page-sizes-to-a-ppd to figure out what needs to be added. (Thanks, SO). In my case, the lines added were (they are non-contiguous in the file, just look to see where they go):

*PageSize LetterEx/US Letter Expanded: "2 dict dup /PageSize [630 810] put dup /ImagingBBox null put setpagedevice"
*ImageableArea LetterEx/US LetterExpanded: "18 18 612 792 "
*PageRegion LetterEx/US Letter Expanded: "2 dict dup /PageSize [630 810] put dup /ImagingBBox null put setpagedevice"
*PaperDimension LetterEx/US Letter Expanded: "630 810 "

Edit the generic PPD file to set the new settings as the Default in each case. This seemed to be necessary in make case to get the desired PS output. Note these are also non-contiguous in the file, but just replace them where each *Default occurs.

*DefaultPageSize: LetterEx
*DefaultImageableArea: LetterEx
*DefaultPageRegion: LetterEx
*DefaultPaperDimension: LetterEx

Reboot the system. For whatever reason, my attempts to restart the printing system/CUPS/whatever didn't take.

Install a new printer, type IP, IP address = localhost or 127.0.0.1, and specify the Generic Postscript Printer type.

From your application (in my case, Word or Pages) do Print, select the 127.0.0.1 printer, select the Letter Expanded page size for your target document page size, and then do PDF/Save as Postscript. It appears that the Postscript conversion engine silently makes use of the current printer profile when producing the PS, rather than the application's page size settings.