Print Routines

Additional PDPrintParamsRec Structure Parameters

doNotDownloadFauxFonts

A doNotDownloadFauxFonts parameter has been added to better control how fonts are emitted to PostScript output.

If doNotDownloadFauxFonts is set to true, APDFL will not create faux fonts to place into the generated PostScript output to represent fonts that are specified for inclusion, but are not available. Instead, APDFL will list the specific missing font name in the PostScript output as a needed font, and will rely on the printer or PostScript processor downstream to locate it. Default behavior (such as when doNotDownloadFauxFonts is false) is that of previous releases: if a font is scheduled for inclusion but not found, a faux (MultiMaster) font is downloaded in its place.

duplex

Due to potential conflicts between Simplex or Duplex print settings (Single-sided or Double-sided respectively) in a Library application and default settings on the printer itself, some revisions and enhancements were made to the available setting flags for the duplex value within the PDPrintParamsRec structure. The flags below have been either modified or newly introduced in order to correct problems while retaining flexibility:

kPDDuplexForceSimplex This flag has been added, to mean "Force simplex printing, ignoring the Windows setting."
kPDDuplexOff The kPDDuplexOff flag has been redefined to mean "Respect the duplex setting in Windows printing preferences.”
kPDDuplexOnTumbleLong This flag forces page-flip on the long axis of the page (such as book-style in Portrait output). It overrides the Windows setting.
kPDDuplexOnTumbleShort This flag forces page-flip on the short axis of the page (such as tablet- style in Portrait output). It overrides the Windows setting.
expandToFit

The expandToFit parameter allows you to directly specify control of document resizing to fit the media. Set this to true to expand printed PDF pages to fit the paper used to print the page. The Adobe PDF Library sample application PrintPDF can be used to test this functionality.

Blank or Null printerName valid in PDFLPrintDoc

The PDFLPrintDoc process allows a blank or NULL value to be supplied for printerName. If no printer is specified, output will now be directed to the user's default printer.

NOTE: Valid on Windows platforms only.

Use of paperHeight and paperWidth Values

If you do not set the paperWidth and paperHeight elements in the PDFLPrintUserParamsRec structure, it is assumed that the media size will be 8.5" x 11" for positioning and scaling purposes. Setting the paperWidth and paperHeight elements to specific values tells Adobe PDF Library to use those values instead. Those values hold for the entire document.

Use of MediaBox Values

The optional kPDPrintUseMediaBox  flag enables you to tie the PDFLPrintUserParamsRec output size values paperHeight and paperWidth to the PDF document’s MediaBox values, on a page-by-page basis:

rec.paperHeight = kPDPrintUseMediaBox;
rec.paperWidth = kPDPrintUseMediaBox;

See the description of the “kPDPrintUseMediaBox” flag above for more details.

Use of CropBox Values

The optional kPDPrintUseCropBox  flag enables you to tie the PDFLPrintUserParamsRec output size values paperHeight and paperWidth to the PDF document’s CropBox values, on a page-by-page basis:

rec.paperHeight = kPDPrintUseCropBox;
rec.paperWidth = kPDPrintUseCropBox;

See the description of the “kPDPrintUseCropBox” flag above for more details.