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

Public Types | |
| enum | { kDefaultIID = IID_IPRINTDEVICEINFO } |
| enum | SetupDialogType { kPrinterSetup, kPageSetup } |
| enum | DefColorSpace { kGray, kRGB, kCMYK, kUnchanged } |
| enum | PSLevel { kPSLevel_Unknown, kPSLevel_1, kPSLevel_2, kPSLevel_3 } |
| enum | InkSelector { kCyan, kMagenta, kYellow, kBlack, kSpot } |
Public Member Functions | |
| virtual bool16 | IsPrintSessionActive () const =0 |
| virtual void | Begin (bool16 initPPDList=kTrue)=0 |
| virtual void | End ()=0 |
| virtual ErrorCode | ProcessPlatformPrintDialog (SetupDialogType dialogType, IOutputPages *iOutputPages=nil)=0 |
| virtual ErrorCode | UpdatePrinterInfo (PMString &newPrinterStr, PMString &newPPDModelStr, bool16 bUsePrintData=kFalse, PMString newPPDFileStr=PMString())=0 |
| virtual bool16 | HasDefaultPrinter () const =0 |
| virtual PMString | GetDefaultPrinterName () const =0 |
| virtual bool16 | IsDefaultPrinterPDFWriter () const =0 |
| virtual int32 | GetNumDevices () const =0 |
| virtual PMString | GetNthDevice (const int32 index) const =0 |
| virtual int32 | GetDeviceIndex (const PMString &deviceName) const =0 |
| virtual int32 | GetNumPPDNames () const =0 |
| virtual PMString | GetNthPPDModelName (const int32 index) const =0 |
| virtual PMString | GetNthPPDFileName (const int32 index) const =0 |
| virtual int32 | GetPPDIndexFromModelName (const PMString &ppdModelName) const =0 |
| virtual int32 | GetPPDIndexFromFileName (const PMString &ppdFileName) const =0 |
| virtual int32 | GetNumPaperSizes () const =0 |
| virtual PMString | GetNthPaperSize (const int32 index) const =0 |
| virtual int32 | GetPaperSizeIndex (const PMString &paperSizeName) const =0 |
| virtual PMString | GetMediaSizeName () const =0 |
| virtual PMString | GetPaperSizeName (const PMString &mediaSizeName) const =0 |
| virtual PMString | GetPaperSizeName (const PMRect &paperSizeRect, const PMRect &imageableAreaRect=PMRect(), const PMString &paperSizeName=PMString()) const =0 |
| virtual PMRect | GetPaperSize (const int32 index=0) const =0 |
| virtual PMRect | GetImageablePaperSize (const int32 index=0) const =0 |
| virtual uchar * | GetPaperSizeSelector (uint32 &outSize, const int32 index=0) const =0 |
| virtual bool16 | GetDeviceSupportsCustomPaperSizes () const =0 |
| virtual bool16 | GetDeviceSupportsCustomPaperTransverse () const =0 |
| virtual void | GetDeviceCustomPaperWidthRange (PMReal &outMinWidth, PMReal &outMaxWidth) const =0 |
| virtual void | GetDeviceCustomPaperHeightRange (PMReal &outMinHeight, PMReal &outMaxHeight) const =0 |
| virtual void | GetDeviceCustomPaperWidthOffsetRange (PMReal &outMinOffset, PMReal &outMaxOffset) const =0 |
| virtual bool16 | GetDeviceSupportsInRIPTrapping () const =0 |
| virtual bool16 | GetDeviceSupportsInRIPSeparations () const =0 |
| virtual bool16 | GetDeviceSupportsBinaryData () const =0 |
| virtual DefColorSpace | GetDeviceDefaultColorSpace () const =0 |
| virtual bool16 | GetDeviceSupportsColorSpace (DefColorSpace colorSpace) const =0 |
| virtual bool16 | IsPostScriptDevice () const =0 |
| virtual bool16 | DeviceSupportsNormalizedPostScript () const =0 |
| virtual PSLevel | GetDevicePostScriptLevel () const =0 |
| virtual int32 | GetNumCompositeFrequencies () const =0 |
| virtual PMString | GetNthCompositeFrequency (const int32 index) const =0 |
| virtual PMReal | GetDeviceCompositeAngle (PMString &resStr) const =0 |
| virtual PMReal | GetDeviceCompositeFrequency (PMString &resStr) const =0 |
| virtual int32 | GetCompositeFrequencyIndex (const PMString &compFreqName) const =0 |
| virtual int32 | GetNumSeparationFrequencies () const =0 |
| virtual PMString | GetNthSeparationFrequency (const int32 index) const =0 |
| virtual int32 | GetSeparationFrequencyIndex (const PMString &sepFreqName) const =0 |
| virtual int32 | GetDefaultSeparationFrequencyIndex () const =0 |
| virtual PMReal | GetDeviceDefaultInkAngle (InkSelector inInkSelector) const =0 |
| virtual PMReal | GetDeviceDefaultInkFrequency (InkSelector inInkSelector) const =0 |
| virtual PMReal | GetDeviceInkAngle (InkSelector inInkSelector, PMString &resStr) const =0 |
| virtual PMReal | GetDeviceInkFrequency (InkSelector inInkSelector, PMString &resStr) const =0 |
| virtual bool16 | GetDeviceRequiresFlattener () const =0 |
| virtual ErrorCode | GetPPDValues (PMString &keyIn, K2Vector< KeyValuePair< PMString, PMString > > &valueOut) const =0 |
| virtual ErrorCode | GetPPDOptionKeys (PMString &keyIn, K2Vector< PMString > &keysOut) const =0 |
| virtual ErrorCode | GetPPDOptionValue (PMString &keyIn, PMString &subKeyIn, PMString &subKeyTranslationOut, K2Vector< KeyValuePair< PMString, PMString > > &valueOut) const =0 |
Public Member Functions inherited from IPMUnknown | |
| virtual IPMUnknown * | QueryInterface (PMIID interfaceID) const =0 |
| virtual void | AddRef () const =0 |
| virtual void | Release () const =0 |
Helper class with access to information about the currently targetted printer. When using this interface, the first thing called should be the Begin method. The End method should be called when finished.
| anonymous enum |
Default enum.
| pure virtual |
Start a print session.
| initPPDList | IN whether to initialize the PPD list or not |
| pure virtual |
Does a non-PS device support behaving like a PS device by distilling (or "normalizing") the PS into PDF, then converting the PDF to the device's native format (usually bitmaps of some sort)? Notes: 1) This is currently only supported on Mac OS versions >= 10.3; 2) By definition this is mutually exclusive with IsPostScriptDevice - when one is true the other will be false.
| pure virtual |
End the print session.
| pure virtual |
Get the composite frequency index - This method has been depricated - don't use.
| compFreqName | IN this parameter is currently ignored |
| pure virtual |
Return the name of the default printer, if one is defined.
| pure virtual |
Get the default separation frequency index.
Get the composite angle.
| resStr | IN this parameter is current ignored |
Get the composite frequency.
| resStr | IN this parameter is current ignored |
| pure virtual |
Get the custom paper height range for the printer.
| outMinHeight | OUT the minimum custom paper height supported |
| outMaxHeight | OUT the maximum custom paper height supported |
| pure virtual |
Get the custom paper width offset range for the printer.
| outMinOffset | OUT the minimum custom paper width offset supported |
| outMaxOffset | OUT the maximum custom paper width offset supported |
| pure virtual |
Get the custom paper width range for the printer.
| outMinWidth | OUT the minimum custom paper width supported |
| outMaxWidth | OUT the maximum custom paper width supported |
| pure virtual |
Get the default color space for the current printer.
| pure virtual |
Get the default ink angle for the given ink.
| inInkSelector | IN which ink to get |
| pure virtual |
Get the default ink frequency for the given ink.
| inInkSelector | IN which ink to get |
| pure virtual |
Given a printer name (i.e. IPrintData::GetPrinter()), get its index in the printer list.
| deviceName | IN the printer name to find |
| pure virtual |
Get the ink angle for the given ink and separation screen string.
| inInkSelector | IN which ink to get |
| resStr | IN the separation screen text string (i.e. IPrintData::GetSeparationScreenText()) |
| pure virtual |
Get the ink frequency for the given ink and separation screen string.
| inInkSelector | IN which ink to get |
| resStr | IN the separation screen text string (i.e. IPrintData::GetSeparationScreenText()) |
| pure virtual |
Get the PostScript level supported by the current printer.
| pure virtual |
Get whether the current printer requires the flattener.
| pure virtual |
Get whether the current printer supports binary data.
| pure virtual |
Determine if the printer supports a given color space.
| colorSpace | IN the color space to check |
| pure virtual |
Does the current printer support custom paper sizes.
| pure virtual |
Does the current printer support transverse paper.
| pure virtual |
Get whether the current printer supports in RIP separations.
| pure virtual |
Get whether the current printer supports in RIP trapping.
| pure virtual |
Get the nth imageable area rect.
| index | the imageable area rect to get - NOTE: index ignored if kPaperSizeDefinedByDriver or kPaperSizeDefinedByUser |
| pure virtual |
Get the media paper size name out of the Print Record (print driver settings). Can be used as the parameter passed to GetPaperSizeName to determine media name. Will return an empty string if not printing to a printer, or if Custom or Defined by Driver paper setting is selected.
| pure virtual |
Get the nth composite frequency - This method has been depricated - don't use.
| index | IN this parameter is current ignored |
| pure virtual |
Get the name of the nth printer.
| index | IN which printer to get |
| pure virtual |
Get the name of the nth paper size.
| index | IN which paper size to get |
| pure virtual |
Get the nth PPD file name.
| index | IN which index to get |
| pure virtual |
Get the nth PPD model name.
| index | IN which index to get |
| pure virtual |
Get the nth separation frequency.
| index | IN which separation frequency to get |
| pure virtual |
Get the number of composite frequencies - This method has been depricated - don't use.
| pure virtual |
Get the number of printers on the system.
| pure virtual |
Get the number of paper sizes available.
| pure virtual |
Get the number of PPDs on the system.
| pure virtual |
Get the number of separation frequencies.
| pure virtual |
Get the nth paper size rect.
| index | IN the paper size rect to get - NOTE: index ignored if kPaperSizeDefinedByDriver or kPaperSizeDefinedByUser |
| pure virtual |
Get the index of the given paper size name.
| paperSizeName | IN the paper size name to find |
| pure virtual |
Given the media size name (from the PrintRecord), search for the name in the list that comes from the PPD. Alternative to using paper size and imageable area rects.
| mediaSizeName | IN the name of the media to find |
| pure virtual |
Given the paper size rect, and the optional imageable area rect, find the paper size name.
| paperSizeRect | IN the paper size rect to find |
| imageableAreaRect | IN the optional imageable area rect to further refine the search - i.e. the difference between finding Letter and Letter Small paper sizes |
| pure virtual |
Get the paper size selector (a magic cookie) for the given index. Used in IPrintData Get/Set Paper Size Selector. Note: the caller is responsible for freeing the non-nil pointer returned, using delete[].
| outSize | OUT size of the memory block allocated and passed back |
| index | IN which paper size selector to get - NOTE: index ignored if kPaperSizeDefinedByDriver or kPaperSizeDefinedByUser |
| pure virtual |
Get the index of the given PPD file name.
| ppdFileName | IN the PPD file name to find |
| pure virtual |
Get the index of the given PPD model name.
| ppdModelName | IN the PPD model name to find |
| pure virtual |
PPD parsing - get PPD option keys.
| keyIn | IN the key to look up |
| keysOut | OUT a K2Vector of key strings to use as subKeyIn to GetPPDOptionValue() |
| pure virtual |
PPD parsing - get PPD option value.
| keyIn | IN the key to look up |
| subKeyIn | IN sub key to lookup - from GetPPDOptionKeys() |
| subKeyTranslationOut | OUT translation of the subKeyIn |
| valueOut | - K2Lookup of two strings, first string is the text, second string is translation |
| pure virtual |
PPD parsing - get PPD values.
| keyIn | IN the key to look up |
| valueOut | OUT a K2Vector of key/value pairs for the given PPD key, where the first string is the text, second string is translation |
| pure virtual |
Get the index of the given separation frequency.
| sepFreqName | IN the separation frequency to find |
| pure virtual |
Check to see if there is a default printer defined
| pure virtual |
Check to see if the default printer is a PDFWriter. We do not allow printing to Acrobat PDFWriter.
| pure virtual |
Is the current printer a PostScript printer?
| pure virtual |
PrintDeviceInfo must be bracketed by Begin/End - this call tells whether we are in between a Begin/End construct.
| pure virtual |
Access the platform print setup or page setup dialog - calls the system printer driver's dialogs.
| dialogType | IN which dialog to access |
| iOutputPages | IN pointer to IOutputPages - if supplied will attempt to match bounds of pages with print record page sizes. May be nil. |
| pure virtual |
Called when printers change to update PrintData. If bUsePrintData is true, the newPrinterStr and newPPDStr are ignored, and only the print record in the PrintData is used. If newPrinterStr == "kPrepress File", checks newPPDStr. If newPPDModelStr == "kDevice Independent", inits for Prepress otherwise inits to PPD file passed in newPPDFileStr. Else if newPrinterStr is empty, initializes using system default printer. Else inits to printer passed in newPrinterStr.
| newPrinterStr | IN string containing the new printer - i.e. from IPrintData::GetPrinter() |
| newPPDModelStr | IN string containing the PPD - i.e. from IPrintData::GetPPDName() |
| bUsePrintData | IN If true, the newPrinterStr and newPPDStr are ignored, and only the print record in the PrintData is used. If false, newPrinterStr and newPPDStr are used as described. |
| newPPDFileStr | IN string containing the PPD file - i.e. from IPrintData::GetPPDFile() |