![]() | InDesign SDK 20.5 |
#include <IPrintUtils.h>

Public Types | |
| enum | PrintStage { kBeforePrintJobParamsInit = 0, kAfterPrintJobParamsInit, kBeforePrintLoop, kBeginPageEvent, kBeforeDrawPageEvent, kBeforeDrawPage, kAfterDrawPageEvent, kEndPageEvent, kBeforeDrawGalleyPageEvent, kBeforeDrawGalleyPage, kAfterDrawGalleyPageEvent, kEndPrintingEvent } |
| enum | { kDefaultIID = IID_IPRINTUTILS } |
Public Member Functions | |
| virtual bool16 | IsCompositeMode (int32 outputMode)=0 |
| virtual bool16 | IsSeparationMode (int32 outputMode)=0 |
| virtual int32 | GetDefaultOutputMode (const IPrintDeviceInfo *iPrintDeviceInfo)=0 |
| virtual bool16 | BleedIsOn (const IPrintData *iPD)=0 |
| virtual bool16 | MarksAreOn (const IPrintData *iPD)=0 |
| virtual PMString | GetUsedProfileName (const IPrintData *iPrintData, IDocument *iDocument)=0 |
| virtual PMString | GetDocumentProfileName (const IPrintData *iPrintData, IDocument *iDocument)=0 |
| virtual PMString | GetDocumentProfileName (IDocument *iDocument, int32 source)=0 |
| virtual PMString | GetWorkingProfileName (const IPrintData *iPrintData)=0 |
| virtual PMString | GetWorkingProfileName (int32 source)=0 |
| virtual ICMSProofing * | QueryICMSProofing (IDocument *iDocument)=0 |
| virtual void | UpdateInkScreening (IPrintDialogData *iPrintDialogData)=0 |
| virtual void | InitPrintDataAndInks (IDocument *doc)=0 |
| virtual void | FixupPrintDataForPub (IDocument *doc)=0 |
| virtual void | FigureCustomPaperSizeSettings (int32 whichPage, IPrintData *iPrintData, IOutputPages *iOutputPages, PMReal &nWidth, PMReal &nHeight, PMReal &nWidthOffset)=0 |
| virtual void | ThumbCalculateRowsAndColumns (uint32 thumbsPerPage, PMRect const &pageRect, IPrintData const *iPrintData, uint32 &rows, uint32 &columns)=0 |
| virtual bool16 | IsDocumentWide (PMRect const &pageRect, IPrintData const *printData)=0 |
| virtual bool16 | IsPrinterWide (IPrintData const *printData)=0 |
| virtual PMReal | GetCorrectedTilingOverlap (const IPrintData *iPrintData) const =0 |
| virtual bool16 | InitializeOutputPages (IDocument *iDoc, IPrintData *iPrintData, IOutputPages *iPrintPages)=0 |
| virtual void | SetupPSViewPortAttrs (IViewPortAttributes *pAttrs, IPrintData *pConfig, IInkList *iInkList)=0 |
| virtual void | SetupNonPSViewPortAttrs (IViewPortAttributes *pAttrs, IPrintData *pConfig)=0 |
| virtual bool16 | InvokePrintSetupServices (PrintStage printStage, IPrintData *iPrintData=nil, IOutputPages *iOutputPages=nil, IPrintJobData *iPrintJobData=nil, int32 *whichPage=nil, PMRect *outputRect=nil, GraphicsData *gd=nil)=0 |
| virtual bool16 | InvokePrintSetupError (IPrintData *iPrintData, ErrorCode &errorNum, PMString &errComponent, PMString &errText, PMString &errOtherInfo)=0 |
| virtual PMReal | CalculateImageResolution (IPrintData *pConfig, IInkList *iInkList)=0 |
Public Member Functions inherited from IPMUnknown | |
| virtual IPMUnknown * | QueryInterface (PMIID interfaceID) const =0 |
| virtual void | AddRef () const =0 |
| virtual void | Release () const =0 |
Public Print Utility class
Print event print stages - used in InvokePrintSetupServices method
| pure virtual |
Determine if any bleed is turned on in the given IPrintData
| iPD | IN pointer to IPrintData to query |
| pure virtual |
Determines the image resolution that will be used in the view port attrs for the specified settings. This is the resolution used to downsample the image.
| pConfig | IN IPrintData pointer in use |
| iInkList | IN IInkList pointer in use, only used if printing seps |
| pure virtual |
Figure out the width and height and width offset for custom paper size
| whichPage | IN which page to use for calculations |
| iPrintData | IN IPrintData pointer to use |
| iOutputPages | IN IOutputPages pointer to use |
| nWidth | OUT PMReal reference to the calculated custom paper size width |
| nHeight | OUT PMReal reference to the calculated custom paper size height |
| nWidthOffset | OUT PMReal reference to the calculated custom paper size width offset |
| pure virtual |
Perform a fix-up of IPrintData for the current document. Will set the page orientation setting to match the document, and will determine the best orientation if thumbnails is on and the number of thumbs is 2. Called from the later new document responder, so page setup is done first.
| doc | IN pointer to IDocument to update |
| pure virtual |
Check the tiling overlap and reduce it to half of the smallest paper size dimension (width or height) if it is larger. This may not always work for books using Auto custom paper sizes, since the paper size used can change at print time.
| iPrintData | IN IPrintData pointer to use |
| pure virtual |
Determine the printer's default color output mode
| iPrintDeviceInfo | IN pointer to IPrintDeviceInfo for the printer |
| pure virtual |
Determine the name of the document profile, based on the selected output mode in the IPrintData and the IDocument settings
| iPrintData | IN pointer to IPrintData to query |
| iDocument | IN pointer to IDocument to query |
| pure virtual |
Determine the name of the document profile, based on the given colorspace and the IDocument settings
| iDocument | IN pointer to IDocument to query |
| source | IN source colorspace, either kPMCsCalCMYK or kPMCsCalRGB |
| pure virtual |
Determine the name of the profile that will be used, based on whether CMS on/off, and the IPrintData and IDocument settings
| iPrintData | IN pointer to IPrintData to query |
| iDocument | IN pointer to IDocument to query |
| pure virtual |
Determine the name of the working profile, based on the selected output mode in the IPrintData given
| iPrintData | IN pointer to IPrintData to query |
| pure virtual |
Determine the name of the working profile, based on the given colorspace
| source | IN source colorspace, either kPMCsCalCMYK or kPMCsCalRGB |
| pure virtual |
Utility which fills in the specified IOutputPages with the set of pages to print, given the print data, which specifies things like page ranges, whether to print even/odd/all, whether to print master pages, and so on. This function should only be used for non-book printing.
| iDoc | IN IDocument pointer to use |
| iPrintData | IN IPrintData pointer to use |
| iPrintPages | OUT IOutputPages pointer to fill out |
| pure virtual |
Initialize the document's inks from the settings stored in the 'Default' printer style. Will initialize the print/no print state as well as the frequency and angle for the process inks, and the frequency and angles of the spot inks. Called from the new document responder.
| doc | IN pointer to IDocument to update |
| pure virtual |
A utility for calling the error handling method of all the IPrintSetupProviders. See that interface for information on the PrintErrorEvent method.
| iPrintData | IN IPrintData pointer in use |
| errorNum | IN ErrorCode of the current error |
| errComponent | IN PMString reference of which component detected the error |
| errText | IN PMString reference of any additional error text |
| errOtherInfo | IN PMString reference of any other error text |
| pure virtual |
A simplified mechanism for invoking the print setup service calls. This prevents you from having to write code to iterate over the service provider for every different call. It iterates over the service providers, and makes the correct call based on the PrintSetupStage parameter. See IPrintSetupProvider to determine which parameters are required for a given PrintSetupStage.
| printStage | IN current PrintStage, defined above |
| iPrintData | IN IPrintData pointer in use, or nil |
| iOutputPages | IN IOutputPages pointer in use, or nil |
| iPrintJobData | IN IPrintJobData pointer in use, or nil |
| whichPage | IN which page is currently being printed, or nil |
| outputRect | IN PMRect pointer to the current output rect, or nil |
| gd | IN GraphicsData pointer in use, or nil |
| pure virtual |
Determine if printing in a composite (vs. separation) mode
| outputMode | IN the current color output mode |
| pure virtual |
Determine if the document is wide (landscape orientation)
| pageRect | IN PMRect reference to the page size |
| iPrintData | IN IPrintData pointer to use |
| pure virtual |
Determine if the print settings for the page is wide (landscape or rev. landscape orientation)
| iPrintData | IN IPrintData pointer to use |
| pure virtual |
Determine if printing in a separation (vs. composite) mode
| outputMode | IN the current color output mode |
| pure virtual |
Determine if any page marks are turned on in the given IPrintData
| iPD | IN pointer to IPrintData to query |
| pure virtual |
Get the ICMSProofing interface for the given IDocument
| iDocument | IN pointer to IDocument to use |
| pure virtual |
Uses the specified print data to configure the specified attributes in a way that is appropriate for printing to a non-PostScript printer.
| pAttrs | OUT IViewPortAttributes pointer initialize |
| pConfig | IN IPrintData pointer to use |
| pure virtual |
Uses the specified print data to configure the specified attributes in a way that is appropriate for printing to a PostScript printer.
| pAttrs | OUT IViewPortAttributes pointer initialize |
| pConfig | IN IPrintData pointer to use |
| iInkList | IN IInkList pointer to use |
| pure virtual |
Determine number of rows and columns for thumbnails
| thumbsPerPage | IN desired number of thumbnails per page |
| pageRect | IN PMRect reference to the page size |
| iPrintData | IN IPrintData pointer to use |
| rows | OUT the calculated number of rows |
| columns | OUT the calculated number of columns |
| pure virtual |
Update the IPrintDialogData settings for process and spot inks from the IPrintData settings (IPrintData retrieved from IPrintDialogData::GetPrintData)
| iPrintDialogData | IN pointer to IPrintDialogData to use and update |