LayerPDF_Library
ObjectGeneral

General PDF Library constructs.



Define Summary
 Define
 ASCallbackCreateNotification
 ATTR_AcceptCertWithoutCheck
 include
 kPDFLVersion
 _PDFLHFT_IS_BETA
 _PDFLHFT_LAST_BETA_COMPATIBLE_VERSION
 _PDFLHFT_LATEST_VERSION
 PDFLHFT_LATEST_VERSION
 PDFLHFTName
 PDFLHFT_VERSION_10
 PDFLHFT_VERSION_5
 PDFLHFT_VERSION_6
 PDFLHFT_VERSION_7
 PDFLHFT_VERSION_7_1
 PDFLHFT_VERSION_7_5
 PDFLHFT_VERSION_8
 PDFLHFT_VERSION_9
 PDFL_VERSION
Typedef Summary
 Typedef
 ASMemAllocProc
 ASMemAvailProc
 ASMemFreeProc
 ASMemReallocProc
 InitProcs
 InitProcsP
 MonoInkList
 PDFLData (Macintosh)
 PDFLData (UNIX)
 PDFLData (Windows)
 PDFLDataRec (Macintosh)
 PDFLDataRec (UNIX)
 PDFLDataRec (Windows)
 PDFLMemStats
 PDFLPrintUserCallbacks
 PDFLPrintUserCallbacksRec
 PDFLPrintUserParams
Declare the the type PDFLPrintUserParams, which is a pointer to a structure and is passed into PDFLPrintDoc. This structure is defined in PDFLPrint.h , but it is complex and platform-specific. This declaration avoids the need to include the platform specific details into files that just need a decaration of this pointer.
 PDFLPrintUserParamsRec (Macintosh)
 PDFLPrintUserParamsRec (UNIX)
 PDFLPrintUserParamsRec (Windows)
 PDInclusion
Specifies how to include a resource in a file.
 PDPrintClient
A data structure used by PDDocPrintPages(). It contains methods to be implemented by the client. Unless otherwise indicated, methods may be NULL, indicating that they do nothing. The methods are called in the order listed in this structure.
 PDPrintClientRec
 PDPrintController
 PDPrintFontArrayP
 PDPrintFontP
 PDPrintParams
 PDPrintStrP
 PlatformBitmapPtr (Windows)
 PlatformWindowPtr (Windows)
 PPDFeaturesP
 PPDFeaturesRec
 TermProcs
 TermProcsP
 TextList
 TextServer
Text server.
 ThreadLocalKey (Macintosh)
PDFLData structure for PDFLInit.
 ThreadLocalKey (UNIX)
PDFLData structure for PDFLInit.
 ThreadLocalKey (Windows)
PDFLData structure for PDFLInit.
 TIFFASCIITagList
 TKAllocatorProcs
 TKAllocatorProcsP
 TKExtensionProcs
 TKExtensionProcsP
 TKResourceProcs
 TKResourceProcsP
Enumeration Summary
 Enumeration
  ALDImageColorType
OPI 1.3 color type information.
  anoncathft25
  anonConsHFT27
  anonWLHFT31
  ImageInk
OPI 2.0 image ink information.
  OPIversion
OPI Types for PostScript printing.
  PDDuplexEnum
Duplex values.
  PDEncodingType
Font encoding methods.
  PDFLFarEastFont
  PDFLInitFlags
Flags for PDFLInit
  PDFLPrefDrawSmoothFlags
Bit flags that set the default smooth text and smooth images global flags for subsequent rendering methods. These flags are passed to the PDPrefSetAntialiasLevel, and are similar to PDPageDrawSmoothFlags.
  PDFLProcSetIDs
ProcSet identifiers used to specify which procsets must be downloaded.
  PDFLSingleByteFont
Font array.
  PDOutputType
Specifies what kind of file to emit.
  PDPrintMarkStyles
  PDPrintTrapType
  PDRefXObjMode
Modes used to control the display of reference XObjects.
Structure Summary
 Structure
 _t_InitProcs
 _t_monoInkList
Image ink monochrome list.
 _t_PDFLData (Macintosh)
PDFLData structure.
 _t_PDFLData (UNIX)
PDFLData structure.
 _t_PDFLData (Windows)
 _t_PDFLMemStats
 _t_PDFLPrintUserCallbacks
The structure holding pointers to certain optional Callbacks available with the PDFLPrintDoc() API.
 _t_PDFLPrintUserParams (Macintosh)
Used to control printing with PDFLPrintDoc.
 _t_PDFLPrintUserParams (UNIX)
Used to control printing with PDFLPrintDoc.
 _t_PDFLPrintUserParams (Windows)
Used to control printing with PDFLPrintDoc.
 _t_PDPrintClient
A data structure used by PDDocPrintPages. It contains methods to be implemented by the client. Unless otherwise indicated, methods may be NULL, indicating that they do nothing. The methods are called in the order listed in this structure.
 _t_PPDFeatures
Used to control the emitting of PPD dependent features to a PostScript file when printing with PDFLPrintDoc. These features are emitted only if emitToFile is set to true. Please see PDFLPrintDoc for more details.
 _t_TermProcs
 _t_textList
List structure used in TIFFASCIITagList.
 _t_TIFFASCIITagList
TIFF ASCII tags.
 _t_TKAllocatorProcs
A structure for memory allocation callbacks used by the PDF Library.
 _t_TKExtensionProcs
A structure containing function pointers for ASExtension callbacks used by the PDF Library.
 _t_TKResourceProcs
Structure for resource acquisition callbacks used by the PDF Library.
 ImageInks
Image inks.
 OPI13dict
OPI 1.3 dictionary.
 OPI20dict
OPI 2.0 dictionary.
 OPIdict
OPI dictionary.
 PDPrintFontArray
An array of font pointers for use in PDFontPSGetComponentFontList.
 PDPrintFontRec
 PDPrintParamsRec
A data structure indicating how a document should be printed.
 PDPrintStr
A structure for controlling the printing of glyphs.
Callback Summary
 Callback
 ASClientAllocProc
Called when the PDF Library needs to allocate memory. The callback should allocate the requested amount of memory and return it as a void*.
 ASClientFreeProc
Called when the PDF Library needs to free memory. The callback should free the requested block of memory.
 ASClientMemAvailProc
Called when the PDF Library needs to determine the amount of available free memory.
 ASClientReallocProc
Called when the PDF Library needs to reallocate memory. The callback should reallocate the requested amount of memory and return it as a void*.
 PDDoExtGStateProc
A callback method that is called when an ExtGState object is encountered. This method is called for each key/value pair in the ExtGState object. If this method returns true, then the key/value will be emitted into the print job. If this method returns false, then nothing will be emitted for this key/value. If emitHalftones is false, then this method will not be called for the HT key.
 PDFLClientRNGProc
A callback for PDFLibraryRegisterRNG(). It is called once to provide random data for encryption. Normally an operating system supplied source of highly random numbers is used (/dev/urandom on Mac OS and Unix, CryptGenRandom() on Windows). For some supported Unix environments, the /dev/urandom device does not exist. While it is preferable to install this device, the PDFLibraryRegisterRNG() function is provided for the client to register an alternate source for strong random data.
 PDFLGetCoreHFTType
 PDFLInitThreadLocalDataType
 PDFLInitType
 PDFLPrintCancelProc
This is called once per page of a document being printed.
 PDFLTermType
 PDPrintCanEmitFontProc
(Optional) A callback for PDPrintClient. It is called to determine whether a font can be emitted into the print job. This is used to determine whether a font is a document-included resource. Only used for PostScript printing.
 PDPrintEmitFontProc
(Required) A callback for PDPrintClient. It emits a font. For Type0 fonts that require font substition, this routine may emit multiple font definitions. The caller can get the list of fonts used by calling GetFontComponentList().
 PDPrintGetFontEncodingMethodProc
(Required for PostScript printing) A callback for PDPrintClient. It asks the client which encoding method should be used for the font.
 TKResourceAcquireProc
A callback in the TKResourceProcs structure in the Adobe PDF Library. It acquires the specified resource and uses it to fill in the rdStm parameter.
 TKResourceReleaseProc
A callback in the TKResourceProcs structure in the Adobe PDF Library. It releases the resources previously acquired and closes the ASStm passed in as rdStm.
Method Summary
 Method
 
ASInt32 ASAtomGetCount()
Gets the number of ASAtom objects that have been allocated. The maximum number of ASAtom objects is 0xFFFFFFFF. (This was a 16-bit value in Acrobat 4.x, and changed to a 32-bit value in Acrobat 5.0).
 
Gets the default temporary path that was set by ASFileSysSetDefaultTempPath().
 
Sets the default temporary path for the specified file system to the specified path name. The method copies the passed pathname object on success; the client is responsible for releasing the object when it is no longer needed, using ASFileSysReleasePath().
 
ASSize_t ASPurgeMemory(ASSize_t amount)
Attempts to free memory from the PDF Library caches.
 
void AVExtensionMgrRegisterNotification(NSelector nsel, ASExtension owner, void* proc, void* clientData)
Registers a user-supplied procedure to call when the event of the specified type occurs. This is exactly the same as the AVAppRegisterNotification() method. All of the PD level notifications are available with the Adobe PDF Library.
 
void AVExtensionMgrUnregisterNotification(NSelector nsel, ASExtension owner, void* proc, void* clientData)
Unregisters a user-supplied procedure to call when the specified event occurs. This is exactly the same as the AVAppUnregisterNotification() method.
 
Prints a range of pages from a document, controlled by a structure of data and callbacks.
 
ACEX1HFTACEX2 PDFLGetCoreHFT()
Gets the Core HFT.
 
ASUns32 PDFLGetFlags()
Gets the flags set when the PDF Library was initialized. Currently kPDFLInitIgnoreDefaultDirectories and kDontLoadPlugIns flags are supported.
 
Gets the number of times the PDF Library has been initialized.
 
ASUns32 PDFLGetVersion()
Gets the value of the Adobe PDF Library version (kPDFLVersion). The most significant 16 bits are the major version number; the least significant 16 bits are the minor version number. The major version number indicates whether any incompatible API changes have been made. The minor version number indicates that the API has changed, but in a compatible fashion.
 
void PDFLibraryRegisterNotification(NSelector nsel, ASExtension owner, void* proc, void* clientData)
Registers a user-supplied procedure to call when the specified event occurs. This is exactly the same as the AVAppRegisterNotification method. All of the PD level notifications are available with the Adobe PDF Library.
 
void PDFLibraryRegisterNotificationEx(NSelector nsel, ASExtension owner, void* proc, void* clientData, ASInt32 priority)
Registers a user-supplied procedure to call when the specified event occurs.
 
Registers a user-supplied random number generator. By default, the PDF Library obtains high-quality random values from the operating system (CryptGenRandom() on Windows, and /dev/random on Mac OS and many UNIX operating systems). This method allows an alternate handler to be used. The random numbers returned should be of high quality, and it is the responsibility of the developer to ensure this. A NULL parameter will reset to default behavior.
 
void PDFLibraryUnregisterNotification(NSelector nsel, ASExtension owner, void* proc, void* clientData)
Unregisters a user-supplied procedure to call when the specified event occurs. This is exactly the same as the AVAppUnregisterNotification() method.
 
ACEX1ASInt32ACEX2 PDFLInit(PDFLData data)
Initializes the Adobe PDF Library. This method must be called before any other Library calls can be made, printing or otherwise.
 
ASInt32 PDFLInitCommon(PDFLData data, InitProcsP procs, os_size_t sizeHFTLocTab)
 
ASInt32 PDFLInitHFT(PDFLData data)
 
ASInt32 PDFLInitHFT(PDFLData data)
 
 
void PDFLPrintDoc(PDDoc doc, PDFLPrintUserParams userParams)
Prints a PDF document or pages from a PDF document allowing the caller to specify options such as page size, rotation, and shrink-to-fit.
 
void PDFLPrintPDF(PDDoc pdDoc, ASPathName pathName, PDPrintParams psParams)
Deprecated: use PDFLPrintDoc() instead.
 
void PDFLTerm()
Terminates the Adobe PDF Library. Call this method after you are completely done using the library. Call this once to terminate and release memory used by the library. After the library has been shut down, the process should terminate.
 
void PDFLTermCommon(TermProcsP termProcs)
 
 
 
PDFontDownloadContext PDFontDownloadContextCreate(PDPrintClient client)
Creates a font download context object. This object keeps track of the fonts downloaded during a print job and whether substitution fonts have already been downloaded. It also tracks the font download parameters, such as binaryOK and 'emit TrueType as Type 42'. It is meant for use in the PDFontStreamPS() method.
 
Destroys a font download context object. Call this method after PDDocPrintPages() returns.
 
ASBool PDFontPSEmitGlyphsIncr(ASStm stm, PDFont fontP, PDPrintStrP srcStr, PDPrintStrP dstStr, ASUns32* srcBytesUsedP, ASUns32* dstBytesUsedP, ASUns32* glyphCount, ASUns16* fontIndexP, PDPrintClient printClient)
Emit glyphs incrementally. This is the default EmitGlyphsIncr callback procedure for the PDPrintClient structure.
 
Flush the incremental glyphs list from a stream. This is the default FlushIncrGlyphList callback procedure for the PDPrintClient structure.
 
Get the component font list. This is the default GetComponentFontList callback procedure for the PDPrintClient structure.
 
ASBool PDFontStreamPS(PDFont fontP, ASStm stm, PDFontDownloadContext context)
Emits a font into a specified stream. The font is in a format suitable for downloading to a PostScript VM. For example, a TrueType font is converted into a Type 1 or Type 42 font.
 
Tests whether the specified font is embedded in the PDF file and has already been extracted to display or print the file.
 
ASBool PDFontWasFauxed(PDFont font)
Tests whether the specified font is embedded in the PDF file or is installed in the user's system. If this is the case, the correct font can be used for display and printing.
 
void PDPageDrawContentsPlacedToWindow(PDPage page, void* window, void* displayContext, ASBool isDPS, ASFixedMatrix* matrix, ASFixedRect* updateRect, CancelProc cancelProc, void* cancelProcClientData)
Draws the page to the window or display context. The window and display context are implementation-dependent. This API is not available on Mac 64.
 
Draws the page to the window or display context. The window and display context are implementation-dependent. This API is not available on Mac 64.
 
ASInt32 PDPageDrawContentsToMemory(PDPage page, ASUns32 flags, ASFixedMatrix* matrix, ASFixedRect* updateRect, ASUns32 smoothFlags, ASAtom csAtom, ASInt32 bpc, ASFixedRect* destRect, char* buffer, ASInt32 bufferSize, CancelProc cancelProc, void* cancelProcData)
Superseded by PDPageDrawContentsToMemoryEx() in Acrobat 10.0.
 
ASUns32 PDPageDrawContentsToMemoryEx(PDPage page, ASCab flags, ASDoubleMatrix* matrix, ASDoubleRect* updateRect, ASAtom csAtom, ASInt32 bpc, ASDoubleRect* destRect, char* buffer, ASUns32 bufferSize, CancelProc cancelProc, void* cancelProcData)
Supersedes PDPageDrawContentsToMemory() in Acrobat 10.0.
 
void PDPageEmitPSOrient(PDPage pdPage, ASInt16 paperHeight, ASInt16 paperWidth, ASStm stm, PDPrintParams params)
Obsolete in PDF Library 6.0. Do not use.
 
void PDPageGetSize(PDPage page, ASFixed* width, ASFixed* height)
Returns the width and height of the page, which could be rotated or defaulted.
 
Returns the antialias level, in pixels.
 
Returns the black-point compensation flag.
 
Determines whether thin lines will be fattened non-linearly or the stroke adjust will be applied to thin rectangles.
 
Returns the greek level.
 
PDRefXObjMode PDPrefGetRefXObj(ASFileSys* fileSys, ASPathName* pathName)
Gets reference XObject parameters.
 
Returns the value of the suppress flag for ICC-based spaces with the specified number of components.
 
Returns the value of the Output Intent flag. When this flag is true, the system overrides the working space with the Output Intent, if it is present.
 
void PDPrefSetAntialiasLevel(ASInt16 antialiasPixelLevel)
Sets the default smooth text and smooth images global flags for subsequent rendering methods.
 
Sets the black-point compensation flag, which controls whether to adjust for differences in black points when converting colors between color spaces. When enabled, the full dynamic range of the source space is mapped into the full dynamic range of the destination space. When disabled, the dynamic range of the source space is simulated in the destination space (which can result in blocked or gray shadows).
 
Sets whether thin lines will be fattened non-linearly or the stroke adjust will be applied to thin rectangles.
 
void PDPrefSetGreekLevel(ASInt16 greekPixelLevel)
Sets the greek level. The greek level is a text height below which text characters are not rendered. Instead, text-like glyphs that have no meaning but look good at very small size are used. This is known as greeking.
 
void PDPrefSetRefXObj(PDRefXObjMode refXObjMode, ASFileSys fileSys, ASPathName pathName)
Sets reference XObject parameters.
 
void PDPrefSetSuppressICCSpaces(ASUns32 nComponents, ASBool value)
Specifies use of a default color space rather than an ICC-based color space.
 
void PDPrefSetUseLocalFonts(ASBool useLocalFonts)
Enables or disables use of local fonts.
 
Sets the Output Intent flag.
 
void PDPrefSetWorkingCMYK(void* profile, ASUns32 profileLength)
Sets the current CMYK working space to a given ICC profile. A CMYK working space in PDF is defined as a profile to substitute for a corresponding /DeviceCMYK space.
 
void PDPrefSetWorkingGray(void* profile, ASUns32 profileLength)
Sets the current gray working space to a given ICC profile. A gray working space in PDF is defined as a profile to substitute for a corresponding /DeviceGray space. When rendering with overprint preview, the gray substitution is suppressed, to avoid converting grayscale to "rich black."
 
void PDPrefSetWorkingRGB(void* profile, ASUns32 profileLength)
Set the current RGB working space to a given ICC profile. An RGB working space in PDF is defined as a profile to substitute for a corresponding /DeviceRGB space.
 
void PSPrintAfterBeginPageSetup(PDDoc doc, ASInt32 page, ASStm stm, void* clientData)
This notification is broadcast after the beginning of the Page Setup (immediately after writing %% BeginPageSetup) during the printing of a page to a PostScript printer with the methods PDFLPrintDoc() (only available with PDF Library SDK) or PDDocPrintPages() (only available with PDF Library SDK). At this point it is possible to use setpagedevice and set the graphics state but marks cannot be made on the page.
 
void PSPrintAfterBeginProlog(PDDoc doc, ASStm stm, void* clientData)
This notification is broadcast after the beginning of the PostScript Prolog (immediately after writing %% BeginPrologue) during the printing of a document to a PostScript printer with the methods PDFLPrintDoc() (only available with PDF Library SDK) or PDDocPrintPages() (only available with PDF Library SDK). The Prolog is a set of application-specific procedure definitions that an application may emit in a PostScript stream.
 
void PSPrintAfterBeginSetup(PDDoc doc, ASStm stm, void* clientData)
This notification is broadcast after the beginning of the Document Setup (immediately after writing %% BeginSetup) during the printing of a page to a PostScript printer with the methods PDFLPrintDoc() (only available with PDF Library SDK) or PDDocPrintPages() (only available with PDF Library SDK). During Document Setup, fonts may be downloaded, setpagedevice may be called, procsets may be initialized, the graphics state may be initialized, and so forth.
 
void PSPrintAfterEmitExtGState(ASStm stm, void* clientData)
This notification is broadcast after extended graphics state parameters are emitted while printing to a PostScript printer with the methods PDFLPrintDoc() (only available with the PDF Library SDK) or PDDocPrintPages() (only available with the PDF Library SDK).
 
void PSPrintAfterPageTrailer(PDDoc doc, ASInt32 page, ASStm stm, void* clientData)
This notification is broadcast after the page trailer is emitted (immediately after writing %% PageTrailer) during the printing of a page to a PostScript printer with the methods PDFLPrintDoc() (only available with PDF Library SDK) or PDDocPrintPages() (only available with PDF Library SDK). At this point it is possible to resolve comments (at end) and emit cleanup code.
 
void PSPrintAfterTrailer(PDDoc doc, ASStm stm, void* clientData)
This notification is broadcast after the DSC trailer is emitted (immediately after writing %% Trailer) during the printing of a page to a PostScript printer with the methods PDFLPrintDoc() (only available with PDF Library SDK) or PDDocPrintPages() (only available with PDF Library SDK). At this point it is possible to resolve comments (at end) and emit cleanup code.
 
void PSPrintBeforeAcrobatProcsets(PDDoc doc, ASStm stm, void* clientData)
Clients that register for this notification will be called back during PostScript printing, just prior to emission of the Acrobat procsets.
 
void PSPrintBeforeEndComments(PDDoc doc, ASStm stm, void* clientData)
This notification is broadcast after the DSC page-level comments that apply to all pages have been emitted (immediately before writing %% EndComments) during the printing of a page to a PostScript printer with the methods PDFLPrintDoc() (only available with the PDF Library SDK) or PDDocPrintPages() (only available with the PDF Library SDK).
 
void PSPrintBeforeEndSetup(PDDoc doc, ASStm stm, void* clientData)
This notification is broadcast before the end of Document Setup (immediately before writing %% EndSetup) during the printing of a page to a PostScript printer with the methods PDFLPrintDoc() (only available with PDF Library SDK) or PDDocPrintPages() (only available with PDF Library SDK). At this point all of the job level resources and procsets have been added to the print stream.
Defines Detail
_PDFLHFT_IS_BETA 
Product availability: PDFL
Platform availability: Macintosh, Windows, UNIX

Syntax

#define _PDFLHFT_IS_BETA 0

File: PDFLCalls.h
Line: 94
_PDFLHFT_LAST_BETA_COMPATIBLE_VERSION 
Product availability: PDFL
Platform availability: Macintosh, Windows, UNIX

Syntax

#define _PDFLHFT_LAST_BETA_COMPATIBLE_VERSION 0x000A0000

File: PDFLCalls.h
Line: 93
_PDFLHFT_LATEST_VERSION 
Product availability: PDFL
Platform availability: Macintosh, Windows, UNIX

Syntax

#define _PDFLHFT_LATEST_VERSION 0x000A0000

File: PDFLCalls.h
Line: 92
ASCallbackCreateNotification 
Product availability: Acrobat, Reader
Platform availability: Macintosh, Windows, UNIX

Syntax

#define ASCallbackCreateNotification ASCallbackCreateProto(nsel##NPROTO, proc)

File: AVCalls.h
Line: 1629
ATTR_AcceptCertWithoutCheck 
Product availability: Acrobat, Reader
Platform availability: Macintosh, Windows, UNIX

Syntax

#define ATTR_AcceptCertWithoutCheck "accept"

File: DirectoryHFT.h
Line: 154
include 
Product availability: PDFL
Platform availability: Macintosh, Windows, UNIX

Syntax

#define include h"

File: PDFLCalls.h
Line: 125
kPDFLVersion 
Product availability: PDFL
Platform availability: Macintosh, Windows, UNIX

Syntax

#define kPDFLVersion 0x00090000

File: PDFInit.h
Line: 41
PDFL_VERSION 
Product availability: PDFL
Platform availability: Macintosh, Windows, UNIX

Syntax

#define PDFL_VERSION ((6L<<16) + 0)

File: PDFLRequir.h
Line: 59
PDFLHFT_LATEST_VERSION 
Product availability: PDFL
Platform availability: Macintosh, Windows, UNIX

Syntax

#define PDFLHFT_LATEST_VERSION _PDFLHFT_LATEST_VERSION)

File: PDFLCalls.h
Line: 97
PDFLHFT_VERSION_10 
Product availability: PDFL
Platform availability: Macintosh, Windows, UNIX

Syntax

#define PDFLHFT_VERSION_10 PDFLHFT_LATEST_VERSION

File: PDFLCalls.h
Line: 99
PDFLHFT_VERSION_5 
Product availability: PDFL
Platform availability: Macintosh, Windows, UNIX

Syntax

#define PDFLHFT_VERSION_5 0x00050000

File: PDFLCalls.h
Line: 106
PDFLHFT_VERSION_6 
Product availability: PDFL
Platform availability: Macintosh, Windows, UNIX

Syntax

#define PDFLHFT_VERSION_6 0x00060000

File: PDFLCalls.h
Line: 105
PDFLHFT_VERSION_7 
Product availability: PDFL
Platform availability: Macintosh, Windows, UNIX

Syntax

#define PDFLHFT_VERSION_7 0x00070000

File: PDFLCalls.h
Line: 104
PDFLHFT_VERSION_7_1 
Product availability: PDFL
Platform availability: Macintosh, Windows, UNIX

Syntax

#define PDFLHFT_VERSION_7_1 0x00070001

File: PDFLCalls.h
Line: 103
PDFLHFT_VERSION_7_5 
Product availability: PDFL
Platform availability: Macintosh, Windows, UNIX

Syntax

#define PDFLHFT_VERSION_7_5 0x00070005

File: PDFLCalls.h
Line: 102
PDFLHFT_VERSION_8 
Product availability: PDFL
Platform availability: Macintosh, Windows, UNIX

Syntax

#define PDFLHFT_VERSION_8 0x00080000

File: PDFLCalls.h
Line: 101
PDFLHFT_VERSION_9 
Product availability: PDFL
Platform availability: Macintosh, Windows, UNIX

Syntax

#define PDFLHFT_VERSION_9 0x00090000

File: PDFLCalls.h
Line: 100
PDFLHFTName 
Product availability: PDFL
Platform availability: Macintosh, Windows, UNIX

Syntax

#define PDFLHFTName "PDFLibrary"

File: PDFLHFTVers.h
Line: 16

Typedefs Detail
ASMemAllocProc 
Product availability: PDFL
Platform availability: Macintosh, Windows, UNIX

Syntax

typedef ASClientAllocProc ASMemAllocProc;

File: PDFInit.h
Line: 96
ASMemAvailProc 
Product availability: PDFL
Platform availability: Macintosh, Windows, UNIX

Syntax

typedef ASClientMemAvailProc ASMemAvailProc;

File: PDFInit.h
Line: 141
ASMemFreeProc 
Product availability: PDFL
Platform availability: Macintosh, Windows, UNIX

Syntax

typedef ASClientFreeProc ASMemFreeProc;

File: PDFInit.h
Line: 127
ASMemReallocProc 
Product availability: PDFL
Platform availability: Macintosh, Windows, UNIX

Syntax

typedef ASClientReallocProc ASMemReallocProc;

File: PDFInit.h
Line: 113
InitProcs 
Product availability: PDFL
Platform availability: Macintosh, Windows, UNIX

Syntax

typedef _t_InitProcs InitProcs;

File: PDFLInitCommon.h
Line: 44
InitProcsP 
Product availability: PDFL
Platform availability: Macintosh, Windows, UNIX

Syntax

typedef _t_InitProcs InitProcsP;

File: PDFLInitCommon.h
Line: 44
MonoInkList 
Product availability: PDFL
Platform availability: Macintosh, Windows, UNIX

Syntax

typedef _t_monoInkList MonoInkList;

File: PDFLExpT.h
Line: 1509
PDFLData 
Product availability: PDFL
Platform availability: Macintosh

Syntax

typedef _t_PDFLData PDFLData;

File: PDFInit.h
Line: 700
PDFLData 
Product availability: PDFL
Platform availability: UNIX

Syntax

typedef _t_PDFLData PDFLData;

File: PDFInit.h
Line: 867
PDFLData 
Product availability: PDFL
Platform availability: Windows

Syntax

typedef _t_PDFLData PDFLData;

File: PDFInit.h
Line: 535
PDFLDataRec 
Product availability: PDFL
Platform availability: Macintosh

Syntax

typedef _t_PDFLData PDFLDataRec;

File: PDFInit.h
Line: 700
PDFLDataRec 
Product availability: PDFL
Platform availability: UNIX

Syntax

typedef _t_PDFLData PDFLDataRec;

File: PDFInit.h
Line: 867
PDFLDataRec 
Product availability: PDFL
Platform availability: Windows

Syntax

typedef _t_PDFLData PDFLDataRec;

File: PDFInit.h
Line: 535
PDFLMemStats 
Product availability: PDFL
Platform availability: Macintosh, Windows, UNIX

Syntax

typedef _t_PDFLMemStats PDFLMemStats;

File: PDFLExpT.h
Line: 82
PDFLPrintUserCallbacks 
Product availability: PDFL
Platform availability: Macintosh, Windows, UNIX

Syntax

typedef _t_PDFLPrintUserCallbacks PDFLPrintUserCallbacks;

File: PDFLExpT.h
Line: 2350
PDFLPrintUserCallbacksRec 
Product availability: PDFL
Platform availability: Macintosh, Windows, UNIX

Syntax

typedef _t_PDFLPrintUserCallbacks PDFLPrintUserCallbacksRec;

File: PDFLExpT.h
Line: 2348
PDFLPrintUserParams 
Product availability: PDFL
Platform availability: Macintosh, Windows, UNIX

Syntax

typedef _t_PDFLPrintUserParams PDFLPrintUserParams;

Declare the the type PDFLPrintUserParams, which is a pointer to a structure and is passed into PDFLPrintDoc. This structure is defined in PDFLPrint.h , but it is complex and platform-specific. This declaration avoids the need to include the platform specific details into files that just need a decaration of this pointer.


File: PDFLExpT.h
Line: 2356
PDFLPrintUserParamsRec 
Product availability: PDFL
Platform availability: Macintosh

Syntax

typedef _t_PDFLPrintUserParams PDFLPrintUserParamsRec;

File: PDFLPrint.h
Line: 673
PDFLPrintUserParamsRec 
Product availability: PDFL
Platform availability: UNIX

Syntax

typedef _t_PDFLPrintUserParams PDFLPrintUserParamsRec;

File: PDFLPrint.h
Line: 187
PDFLPrintUserParamsRec 
Product availability: PDFL
Platform availability: Windows

Syntax

typedef _t_PDFLPrintUserParams PDFLPrintUserParamsRec;

File: PDFLPrint.h
Line: 511
PDInclusion 
Product availability: PDFL
Platform availability: Macintosh, Windows, UNIX

Syntax

typedef ASEnum8 PDInclusion;

Specifies how to include a resource in a file.


File: PDFLExpT.h
Line: 123
PDPrintClient 
Product availability: PDFL
Platform availability: Macintosh, Windows, UNIX

Syntax

typedef _t_PDPrintClient PDPrintClient;

A data structure used by PDDocPrintPages(). It contains methods to be implemented by the client. Unless otherwise indicated, methods may be NULL, indicating that they do nothing. The methods are called in the order listed in this structure.


File: PDFLExpT.h
Line: 1359
PDPrintClientRec 
Product availability: PDFL
Platform availability: Macintosh, Windows, UNIX

Syntax

typedef _t_PDPrintClient PDPrintClientRec;

File: PDFLExpT.h
Line: 2340
PDPrintController 
Product availability: PDFL
Platform availability: Macintosh, Windows, UNIX

Syntax

typedef struct _t_PDPrintController* PDPrintController;

File: PDFLExpT.h
Line: 1360
PDPrintFontArrayP 
Product availability: PDFL
Platform availability: Macintosh, Windows, UNIX

Syntax

typedef PDPrintFontArray PDPrintFontArrayP;

File: PDFLExpT.h
Line: 287
PDPrintFontP 
Product availability: PDFL
Platform availability: Macintosh, Windows, UNIX

Syntax

typedef PDPrintFontRec PDPrintFontP;

File: PDFLExpT.h
Line: 267
PDPrintParams 
Product availability: PDFL
Platform availability: Macintosh, Windows, UNIX

Syntax

typedef PDPrintParamsRec PDPrintParams;

File: PDFLExpT.h
Line: 978
PDPrintStrP 
Product availability: PDFL
Platform availability: Macintosh, Windows, UNIX

Syntax

typedef PDPrintStr PDPrintStrP;

File: PDFLExpT.h
Line: 202
PlatformBitmapPtr 
Product availability: PDFL
Platform availability: Windows

Syntax

typedef void* PlatformBitmapPtr;

File: PDFLExpT.h
Line: 52
PlatformWindowPtr 
Product availability: PDFL
Platform availability: Windows

Syntax

typedef void* PlatformWindowPtr;

File: PDFLExpT.h
Line: 51
PPDFeaturesP 
Product availability: PDFL
Platform availability: Macintosh, Windows, UNIX

Syntax

typedef _t_PPDFeatures PPDFeaturesP;

File: PDFLPrint.h
Line: 50
PPDFeaturesRec 
Product availability: PDFL
Platform availability: Macintosh, Windows, UNIX

Syntax

typedef _t_PPDFeatures PPDFeaturesRec;

File: PDFLPrint.h
Line: 50
TermProcs 
Product availability: PDFL
Platform availability: Macintosh, Windows, UNIX

Syntax

typedef _t_TermProcs TermProcs;

File: PDFLInitCommon.h
Line: 49
TermProcsP 
Product availability: PDFL
Platform availability: Macintosh, Windows, UNIX

Syntax

typedef _t_TermProcs TermProcsP;

File: PDFLInitCommon.h
Line: 49
TextList 
Product availability: PDFL
Platform availability: Macintosh, Windows, UNIX

Syntax

typedef _t_textList TextList;

File: PDFLExpT.h
Line: 1413
TextServer 
Product availability: PDFL
Platform availability: Macintosh, Windows, UNIX

Syntax

typedef struct _t_TextServer* TextServer;

Text server.


File: PDFLExpT.h
Line: 1320
ThreadLocalKey 
Product availability: PDFL
Platform availability: Macintosh

Syntax

typedef TaskStorageIndex ThreadLocalKey;

PDFLData structure for PDFLInit.


File: PDFInit.h
Line: 537
ThreadLocalKey 
Product availability: PDFL
Platform availability: UNIX

Syntax

typedef pthread_key_t ThreadLocalKey;

PDFLData structure for PDFLInit.


File: PDFInit.h
Line: 702
ThreadLocalKey 
Product availability: PDFL
Platform availability: Windows

Syntax

typedef DWORD ThreadLocalKey;

PDFLData structure for PDFLInit.


File: PDFInit.h
Line: 366
TIFFASCIITagList 
Product availability: PDFL
Platform availability: Macintosh, Windows, UNIX

Syntax

typedef _t_TIFFASCIITagList TIFFASCIITagList;

File: PDFLExpT.h
Line: 1423
TKAllocatorProcs 
Product availability: PDFL
Platform availability: Macintosh, Windows, UNIX

Syntax

typedef _t_TKAllocatorProcs TKAllocatorProcs;

File: PDFInit.h
Line: 177
TKAllocatorProcsP 
Product availability: PDFL
Platform availability: Macintosh, Windows, UNIX

Syntax

typedef _t_TKAllocatorProcs TKAllocatorProcsP;

File: PDFInit.h
Line: 177
TKExtensionProcs 
Product availability: PDFL
Platform availability: Macintosh, Windows, UNIX

Syntax

typedef _t_TKExtensionProcs TKExtensionProcs;

File: PDFInit.h
Line: 361
TKExtensionProcsP 
Product availability: PDFL
Platform availability: Macintosh, Windows, UNIX

Syntax

typedef _t_TKExtensionProcs TKExtensionProcsP;

File: PDFInit.h
Line: 361
TKResourceProcs 
Product availability: PDFL
Platform availability: Macintosh, Windows, UNIX

Syntax

typedef _t_TKResourceProcs TKResourceProcs;

File: PDFInit.h
Line: 261
TKResourceProcsP 
Product availability: PDFL
Platform availability: Macintosh, Windows, UNIX

Syntax

typedef _t_TKResourceProcs TKResourceProcsP;

File: PDFInit.h
Line: 261

Enumeration Detail
ALDImageColorType
Product availability: PDFL
Platform availability: Macintosh, Windows, UNIX

Syntax


File: PDFLExpT.h
Line: 1395

Elements
ALDImageColorType_Spot  

Spot color type.

 
ALDImageColorType_Process  

Process color type.

 
ALDImageColorType_Separation  

Separation color type.

 
ALDImageColorType_Intrinsic  

Intrinsic color type.

anoncathft25 
Product availability: Acrobat, Reader
Platform availability: Macintosh, Windows, UNIX

Syntax

enum anoncathft25 {
 CatalogBAD_SELECTOR,
 
 CatalogNUMSELECTORSplusOne = (void)(char *szIndex)(char *szIndex)(char *szIndex)(void)
}

File: cathft.h
Line: 35

anonConsHFT27 
Product availability: Acrobat, Reader
Platform availability: Macintosh, Windows, UNIX

Syntax

enum anonConsHFT27 {
 ConsultantBAD_SELECTOR = 0,
 
 ConsultantNUMSELECTORSPlusOne = ( ConsAgentPercentDoneCallback pPercentDoneCallBack )( Consultant hConsultantToDestroy )( Consultant hConsultant, CosObj hObj, PDFObjType kObjType )( Consultant hConsultant, const ConsultantAgent* pAgent, RegAgentFlag kFlag )( Consultant hConsultant, CosObj hObjStart, PDFObjType kInitType )( Consultant hConsultant )( Consultant hConsultant )( Consultant hConsultant )( Consultant hConsultant )( Consultant hConsultant )( Consultant hConsultant )( ConsStack hConsultant )( ConsStack hConsultant, ASUns32 iIndex )( ConsStack hConsultant, ASUns32 iIndex )( ConsStack hConsultant, ASUns32 iIndex, ASUns32 iTypeIndex )( ConsStack hConsultant, ASUns32 iIndex )( ConsStack hConsultant, ASUns32 iIndex )( ConsStack hConsultant, ASUns32 iIndex )( ConsStack hConsultant, ASUns32 iIndex )( PDFObjType kType )( Consultant hConsultant )( Consultant hConsultant, CosObj hObj )
}

File: ConsHFT.h
Line: 57

anonWLHFT31 
Product availability: Acrobat, Reader
Platform availability: Macintosh, Windows, UNIX

Syntax

enum anonWLHFT31 {
 WLBAD_SELECTOR,
 
 WLNUMSELECTORSplusOne = (const char *driverName, void *driverRock, WebDriverVector *wdVec)(char *message, ASUns32 flags, ASInt32 timeoutTime)(WebProgressMonitor progMon, char *message, ASInt32 from, ASInt32 to, ASInt32 outOf, ASInt32 timeoutTime)(WebProgressMonitor progMon)(ASBool promptUser)(WebProgressMonitor progMon)(AVDoc avd, const char *cURL, const char *cFormData)(ASBool bCreate, PDDoc pdd, ASInt32 nStart, ASInt32 nEnd, ProgressMonitor pm, void *vPMData, CancelProc cp, void *vCPData)(AVDoc avd, const char *cURL, const char *cFormData, WWWOpenURLParams params)
}

File: WLHFT.h
Line: 378

ImageInk 
Product availability: PDFL
Platform availability: Macintosh, Windows, UNIX

Syntax


File: PDFLExpT.h
Line: 1490

Elements
ImageInk_Registration  

Image colorant registration value.

 
ImageInk_FullColor  

Image colorant full color value.

 
ImageInk_Monochrome  

Image colorant monochrome value

OPIversion 
Product availability: PDFL
Platform availability: Macintosh, Windows, UNIX

Syntax

enum OPIversion {
 OPIv13,
 
 OPIv20
}

File: PDFLExpT.h
Line: 1385

Elements
OPIv13  

OPI version 1.3.

 
OPIv20  

OPI version 2.0.

PDDuplexEnum 
Product availability: PDFL
Platform availability: Macintosh, Windows, UNIX

Syntax

enum PDDuplexEnum {
 kPDDuplexOff,
 
 kPDDuplexOnTumbleShort,
 
 kPDDuplexOnTumbleLong
}

See Also


File: PDFLExpT.h
Line: 372

PDEncodingType 
Product availability: PDFL
Platform availability: Macintosh, Windows, UNIX

Syntax

enum PDEncodingType {
 kPDDoReencode,
 
 kPDDoNothing,
 
 kPDDoXlate
}

File: PDFLExpT.h
Line: 1364

Elements
kPDDoReencode  

The encoding method to be used for Type 1 fonts and substituted fonts.

 
kPDDoNothing  

The encoding method to be used for TrueType Windows font or built-in encoding font.

 
kPDDoXlate  

The encoding method to be used for a TrueType custom font or font with Mac OS encoding.

PDFLFarEastFont 
Product availability: PDFL
Platform availability: Macintosh, Windows, UNIX

Syntax


File: PDFLExpT.h
Line: 169

Elements
PDPDFarEastFont_Download_All  

Download all CJK fonts to the printer.

 
PDPDFarEastFont_Download_None  

Download only embedded fonts to the printer.

 
PDPDFarEastFont_Print_As_Image  

GDI/QuickDraw on PS option. PS Level 1 should use this to print CJK.

PDFLInitFlags 
Product availability: PDFL
Platform availability: Macintosh, Windows, UNIX

Syntax

enum PDFLInitFlags {
 kPDFLInitIgnoreDefaultDirectories = 0x001,
 
 kReadOnlyInit = 0x0002,
 
 kCheckSubFonts = 0x0004,
 
 kDontLoadPlugIns = 0x0008,
 
 kTestUniform = 0x0010,
 
 kInitPDFEdit = 0x0020
}

File: PDFInit.h
Line: 44

Elements
kPDFLInitIgnoreDefaultDirectories  

Do not search through default font directories.

 
kReadOnlyInit  

(obsolete) If it is not necessary to write PDF, there is no need to initialize the font table (which would be much faster!).

 
kCheckSubFonts  

Check for substitution fonts at toolkit initialization. If they are not found, return an error.

 
kDontLoadPlugIns  

Do not load plug-ins if this is set.

 
kTestUniform  

TEST ONLY ** Create the same PDF file for every run. This forces dates to January 1, 1999 at 1:01:01 and file IDs to "[&lt;11111111111111111111111111111111&gt;&lt;11111111111111111111111111111111&gt;]". The resulting PDF files are invalid and should only be used for testing purposes.

 
kInitPDFEdit  

Initialize PDFEdit if this is true.

PDFLPrefDrawSmoothFlags 
Product availability: PDFL
Platform availability: Macintosh, Windows, UNIX

Syntax

enum PDFLPrefDrawSmoothFlags {
 kPDPrefAASmoothText = 0x00000001,
 
 kPDPrefAASmoothLineArt = 0x00000002,
 
 kPDPrefAASmoothImage = 0x00000010
}

See Also


File: PDFLExpT.h
Line: 1307

Elements
kPDPrefAASmoothText  

Draw smooth text.

 
kPDPrefAASmoothLineArt  

Draw smooth line art.

 
kPDPrefAASmoothImage  

Draw smooth image.

PDFLProcSetIDs 
Product availability: PDFL
Platform availability: Macintosh, Windows, UNIX

Syntax

enum PDFLProcSetIDs {
 pdfProcSet,
 
 typeProcSet,
 
 imgProcSet,
 
 imbProcSet,
 
 imcProcSet,
 
 imiProcSet,
 
 ocfProcSet,
 
 nProcSets
}

File: PDFLExpT.h
Line: 1588

Elements
pdfProcSet  

PDF only operators.

 
typeProcSet  

AI3 or PDF typography.

 
imgProcSet  

General image support.

 
imbProcSet  

Monochrome images.

 
imcProcSet  

Color images.

 
imiProcSet  

Indexed (color table) images.

 
ocfProcSet  

Make Original Composite Font (OCF) support.

 
nProcSets  

How many are defined.

PDFLSingleByteFont 
Product availability: PDFL
Platform availability: Macintosh, Windows, UNIX

Syntax

enum PDFLSingleByteFont {
 kPDSingleByteFont = 0x0001
}

See Also


File: PDFLExpT.h
Line: 230

Elements
kPDSingleByteFont  

A fLag to indicate that the font uses a single byte encoding.

PDOutputType 
Product availability: PDFL
Platform availability: Macintosh, Windows, UNIX

Syntax

enum PDOutputType {
 kIncludeOncePerDoc,
 
 kIncludeOnEveryPage,
 
 kIncludeNever,
 
 kIncludeWhenNeeded,
 
 kIncludeByRange
}

File: PDFLExpT.h
Line: 124

Elements
kIncludeOncePerDoc  

Include the resource only once per file.

 
kIncludeOnEveryPage  

Include the resource on every page in the file.

 
kIncludeNever  

Never include the resource.

 
kIncludeWhenNeeded  

When needed.

 
PDPrintMarkStyles 
Product availability: PDFL
Platform availability: Macintosh, Windows, UNIX

Syntax


File: PDFLExpT.h
Line: 1322

Elements
kPDInDesignStyle  

InDesign style.

 
kPDInDesignJ1Style  

InDesign J1 style.

 
kPDInDesignJ2Style  

InDesign J2 style.

 
kPDIllustratorStyle  

Illustrator style.

 
kPDIllustratorJStyle  

Illustrator J style.

 
kPDQuarkXPressStyle  

QuarkXPress style.

PDPrintTrapType 
Product availability: PDFL
Platform availability: Macintosh, Windows, UNIX

Syntax

enum PDPrintTrapType {
 kPDPrintTrapNone = 0x01,
 
 kPDPrintTrapInRIP = 0x04
}

File: PDFLExpT.h
Line: 459

PDRefXObjMode 
Product availability: PDFL
Platform availability: Macintosh, Windows, UNIX

Syntax

enum PDRefXObjMode {
 kRefXObjNever = 0,
 
 kRefXObjAlways = 1,
 
 kRefXObjPDFX5 = 2,
 
 kRefXObjAlwaysAssured = 3,
 
 kRefXObjPDFX5Assured = 4
}

File: PDFLExpT.h
Line: 1218

Elements
kRefXObjNever  

Never display reference XObjects. If a file contains reference XObjects, their content will not be displayed, and only the proxy will be displayed if this mode is selected.

 
kRefXObjAlways  

Always display reference XObjects. All files containing reference XObjects will display content from the XObjects.

 
kRefXObjPDFX5  

All files that are PDFX5 compliant and that contain reference XObjects will display their content.

 
kRefXObjAlwaysAssured  

Always display reference XObjects, but do not display the proxy. The PDF parsing fails if the target is not found.

 
kRefXObjPDFX5Assured  

Always display reference XObjects, but do not display the proxy. The PDF parsing fails if the target PDF/X-5 document is not found.


Structure Detail
_t_InitProcs
Product availability: PDFL
Platform availability: Macintosh, Windows, UNIX

Syntax

struct _t_InitProcs {
 PDFLInitType initProc; 
 
 PDFLGetCoreHFTType getCoreHFTProc; 
 
 PDFLInitThreadLocalDataType initThreadLocalData; 
}


File: PDFLInitCommon.h
Line: 40

_t_monoInkList 
Product availability: PDFL
Platform availability: Macintosh, Windows, UNIX

Syntax

struct _t_monoInkList {
 char* name; 
 
 float level; 
 
 _t_monoInkList next; 
}

Image ink monochrome list.


File: PDFLExpT.h
Line: 1502

Elements
name  

Name of the colorant.

 
level  

Concentration of the colorant.

 
next  

Pointer to next list element.

_t_PDFLData 
Product availability: PDFL
Platform availability: Macintosh

Syntax

struct _t_PDFLData {
 ASSize_t size; 
 
 ASUns32 flags; 
 
 char** dirList; 
 
 ASInt32 listLen; 
 
 TKAllocatorProcsP allocator; 
 
 short resFile; 
 
 TKResourceProcsP resProcs; 
 
 TKExtensionProcsP extProcs; 
 
 char** cacheFileList; 
 
 char* systemCacheFile; 
 
 char* commonCacheFile; 
 
 char* cMapDirectory; 
 
 char* unicodeDirectory; 
 
 ASInt32 pluginDirListLen; 
 
 char** pluginDirList; 
 
 ASInt32 colorProfileDirListLen; 
 
 char** colorProfileDirList; 
}

PDFLData structure.


File: PDFInit.h
Line: 540

Elements
size  

The size of the data structure. It must be set to sizeof(PDFLDataRec).

 
flags  

Currently kPDFLInitIgnoreDefaultDirectories and kDontLoadPlugIns flags are supported. When kPDFLInitIgnoreDefaultDirectories flag is set, the initialization process does not search through the default font directories(currently Adobe font directories installed by some Adobe applications), but only in those specified in dirList. When kDontLoadPlugIns flag is set, plug-ins are ignored during initialization process.

 
dirList  

A list of directories with fonts.

 
listLen  

The number of directories listed in dirList.

 
allocator  

The structure containing function pointers for memory allocation callbacks. The library manages its own memory. Most applications linking with the library should pass NULL for this member. Applications wishing more control over memory allocation can fill out this structure and will be responsible for providing and freeing memory, as well as reporting available memory as requested by the library.

 
resFile  

(Mac only)

The resources location, if they are not in the application itself. Set them using OpenResFile:

 
resProcs  

The structure containing function pointers for resource management callbacks. The library manages its own resources. Most applications linking with the library should pass NULL for this member. Applications wishing more control over resource allocation can fill out this structure and will be responsible for providing and freeing resources requested by the library.

 
extProcs  

The structure containing function pointers for ASExtension callbacks used by the PDF Library.

 
cacheFileList  

A list of font cache file names. It is parallel to dirList, but contains separately configurable target files for CoolType cache files for use in cases where the specified font directory may not be writable by the client. Either cacheFileList or any/all of its subsidiary pointers may be NULL, in which case CoolType will default to the font directory passed in dirList.

 
systemCacheFile  

Separately configurable target file where CoolType should store the system font cache file. It may be NULL, in which case CoolType will choose a default path.

 
commonCacheFile  

Separately configurable target file where CoolType should store the common font cache file. It may be NULL, in which case CoolType will choose a default path.

 
cMapDirectory  

The complete NULL-terminated path of the directory where CoolType can find CMap files. This directory will be the preferred location for CMaps that are associated with the system fontset. If CMaps with the same name are found in this directory and common fonts directory, the copy in this directory will be preferred. May be NULL, in which case CoolType will only associate CMaps present in common fonts directory with the system font set.

 
unicodeDirectory  

The complete, NULL-terminated path of the directory in which the Unicode mapping files can be found.

 
pluginDirListLen  

Specifies the number of directories listed in pluginDirList. With regards to loading plug-ins, PDF Library behavior is now as follows:

  • If pluginDirListLen > 0, then PDF Library will only look for plug-ins in the paths passed in pluginDirList. It will not search the earlier locations, (for example, "pdfplug_ins" folder on Windows, "PDFPlug-Ins" on Mac OS, and the list of directories passed in dirList on Unix.

  • If pluginDirListLen <= 0 or is not a part of the PDFLDataRec structure passed by the PDF Library client, then PDF Library will search the earlier locations for plug-ins.

 
pluginDirList  

An array of plug-in directories.

If a PDF Library client wants PDFL to load headless PDF Library plug-ins from desired locations, the client can pass a list of paths in pluginDirList. The 2 fields pluginDirList and pluginDirListLen are similar to the existing fields dirList and listLen.

Clients can pass an array of plug-in directories in the field pluginDirList:

  • On Windows, pluginDirList is an array of ASUTF16Val paths. Each path should be NULL-terminated.

  • On Mac OS, the paths passed in pluginDirList should be NULL-terminated UTF-8 POSIX strings. Hence, the type of pluginDirList on Mac is char **.

  • On Unix, the paths passed in pluginDirList should be simple NULL-terminated char strings.

 
colorProfileDirListLen  

Specifies the number of directories listed in colorProfileDirList.

 
colorProfileDirList  

An array of color profile directories.

If a PDF Library client wants to search for color profiles from custom directories, the client can pass a list of paths in colorProfileDirList. The 2 fields colorProfileDirList and colorProfileDirListLen are similar to the existing fields dirList and listLen.

If the client does not set this parameter then PDF Library will search for the color profiles from default locations such as Creative Suites and Acrobat installation directories. If the clients sets this parameter then PDF Library will search for the color profiles from it's default directory as well as from the custom directories specified by the client through parameter colorProfileDirList. However the order of searching for these profiles from default and custom directories is not fixed.

  • On Windows, colorProfileDirList is an array of ASUTF16Val paths. Each path should be NULL-terminated.

  • On Mac OS, the paths passed in colorProfileDirList should be NULL-terminated UTF-8 POSIX strings. Hence, the type of colorProfileDirList on Mac is char **.

  • On Unix, the paths passed in colorProfileDirList should be simple NULL-terminated char strings.

_t_PDFLData 
Product availability: PDFL
Platform availability: UNIX

Syntax

struct _t_PDFLData {
 ASSize_t size; 
 
 ASUns32 flags; 
 
 char** dirList; 
 
 ASInt32 listLen; 
 
 TKAllocatorProcsP allocator; 
 
 TKResourceProcsP resProcs; 
 
 TKExtensionProcsP extProcs; 
 
 char** cacheFileList; 
 
 char* systemCacheFile; 
 
 char* commonCacheFile; 
 
 char* unicodeDirectory; 
 
 char* cMapDirectory; 
 
 ASInt32 pluginDirListLen; 
 
 char** pluginDirList; 
 
 ASInt32 colorProfileDirListLen; 
 
 char** colorProfileDirList; 
}

PDFLData structure.


File: PDFInit.h
Line: 705

Elements
size  

The size of the data structure. It must be set to sizeof(PDFLDataRec).

 
flags  

Currently kPDFLInitIgnoreDefaultDirectories and kDontLoadPlugIns flags are supported. When kPDFLInitIgnoreDefaultDirectories flag is set, the initialization process does not search through the default font directories(currently Adobe font directories installed by some Adobe applications), but only in those specified in dirList. When kDontLoadPlugIns flag is set, plug-ins are ignored during initialization process.

 
dirList  

A list of directories with fonts.

 
listLen  

The number of directories listed in dirList.

 
allocator  

The structure containing function pointers for memory allocation callbacks. The library manages its own memory. Most applications linking with the library should pass NULL for this member. Applications wishing more control over memory allocation can fill out this structure and will be responsible for providing and freeing memory, as well as reporting available memory as requested by the library.

 
resProcs  

The structure containing function pointers for resource management callbacks. The library manages its own resources. Most applications linking with the library should pass NULL for this member. Applications wishing more control over resource allocation can fill out this structure and will be responsible for providing and freeing resources requested by the library.

 
extProcs  

The structure containing function pointers for ASExtension callbacks used by the PDF Library.

 
cacheFileList  

A list of font cache file names. It is parallel to dirList, but contains separately configurable target files for CoolType cache files for use in cases where the specified font directory may not be writable by the client. Either cacheFileList or any/all of its subsidiary pointers may be NULL, in which case CoolType will default to the font directory passed in dirList.

 
systemCacheFile  

Separately configurable target file where CoolType should store the system font cache file. It may be NULL, in which case CoolType will choose a default path.

 
commonCacheFile  

Separately configurable target file where CoolType should store the common font cache file. It may be NULL, in which case CoolType will choose a default path.

 
unicodeDirectory  

The complete, NULL-terminated path of the directory in which the Unicode mapping files can be found.

 
cMapDirectory  

The complete NULL-terminated path of the directory where CoolType can find CMap files. This directory will be the preferred location for CMaps that are associated with the system fontset. If CMaps with the same name are found in this directory and common fonts directory, the copy in this directory will be preferred. May be NULL, in which case CoolType will only associate CMaps present in common fonts directory with the system font set.

 
pluginDirList  

An array of plug-in directories.

If a PDF Library client wants PDFL to load headless PDF Library plug-ins from desired locations, the client can pass a list of paths in pluginDirList. The 2 fields pluginDirList and pluginDirListLen are similar to the existing fields dirList and listLen.

Clients can pass an array of plug-in directories in the field pluginDirList:

  • On Windows, pluginDirList is an array of ASUTF16Val paths. Each path should be NULL-terminated.

  • On Mac OS, the paths passed in pluginDirList should be NULL-terminated UTF-8 POSIX strings. Hence, the type of pluginDirList on Mac is char **.

  • On Unix, the paths passed in pluginDirList should be simple NULL-terminated char strings.

 
colorProfileDirListLen  

Specifies the number of directories listed in colorProfileDirList.

 
colorProfileDirList  

An array of color profile directories.

If a PDF Library client wants to search for color profiles from custom directories, the client can pass a list of paths in colorProfileDirList. The 2 fields colorProfileDirList and colorProfileDirListLen are similar to the existing fields dirList and listLen.

If the client does not set this parameter then PDF Library will search for the color profiles from default locations such as Creative Suites and Acrobat installation directories. If the clients sets this parameter then PDF Library will search for the color profiles from it's default directory as well as from the custom directories specified by the client through parameter colorProfileDirList. However the order of searching for these profiles from default and custom directories is not fixed.

  • On Windows, colorProfileDirList is an array of ASUTF16Val paths. Each path should be NULL-terminated.

  • On Mac OS, the paths passed in colorProfileDirList should be NULL-terminated UTF-8 POSIX strings. Hence, the type of colorProfileDirList on Mac is char **.

  • On Unix, the paths passed in colorProfileDirList should be simple NULL-terminated char strings.

_t_PDFLData 
Product availability: PDFL
Platform availability: Windows

Syntax


File: PDFInit.h
Line: 367

Elements
size  

The size of the data structure. It must be set to sizeof(PDFLDataRec).

 
flags  

Currently kPDFLInitIgnoreDefaultDirectories and kDontLoadPlugIns flags are supported. When kPDFLInitIgnoreDefaultDirectories flag is set, the initialization process does not search through the default font directories(currently Adobe font directories installed by some Adobe applications), but only in those specified in dirList. When kDontLoadPlugIns flag is set, plug-ins are ignored during initialization process.

 
inst  

(Windows only)

The location of resources for the Library. For a static library, you link them into your application and use NULL for inst. For a DLL version of the library, call LoadLibrary on the DLL and set inst equal to the HINSTANCE returned:

libData.inst = LoadLibrary("PDFL50.DLL");

If you are linking the static library into a DLL, pass the HINSTANCE passed into DllMain or WinMain for inst, and link the resources into the DLL.

Free the HINSTANCE with FreeLibrary after you call PDFLTerm.

 
dirList  

List of directories with fonts.

 
listLen  

The number of directories listed in dirList.

 
allocator  

The structure containing function pointers for memory allocation callbacks. The library manages its own memory. Most applications linking with the library should pass NULL for this member. Applications wishing more control over memory allocation can fill out this structure and will be responsible for providing and freeing memory, as well as reporting available memory as requested by the library.

 
resProcs  

The structure containing function pointers for resource management callbacks. The library manages its own resources. Most applications linking with the library should pass NULL for this member. Applications wishing more control over resource allocation can fill out this structure and will be responsible for providing and freeing resources requested by the library.

 
extProcs  

The structure containing function pointers for ASExtension callbacks used by the PDF Library.

 
cacheFileList  

A list of font cache file names. It is parallel to dirList, but contains separately configurable target files for CoolType cache files for use in cases where the specified font directory may not be writable by the client. Either cacheFileList or any/all of its subsidiary pointers may be NULL, in which case CoolType will default to the font directory passed in dirList.

 
systemCacheFile  

A separately configurable target file where CoolType should store the system font cache file. It may be NULL, in which case CoolType will choose a default path.

 
commonCacheFile  

Separately configurable target file where CoolType should store the common font cache file. It may be NULL, in which case CoolType will choose a default path.

 
cMapDirectory  

The complete NULL-terminated path of the directory where CoolType can find CMap files. This directory will be the preferred location for CMaps that are associated with the system fontset. If CMaps with the same name are found in this directory and common fonts directory, the copy in this directory will be preferred. It may be NULL, in which case CoolType will only associate CMaps present in the common fonts directory with the system font set.

 
unicodeDirectory  

The complete, NULL-terminated path of the directory in which the Unicode mapping files can be found.

 
pluginDirListLen  

Specifies the number of directories listed in pluginDirList. With regards to loading plug-ins, PDF Library behavior is now as follows:

  • If pluginDirListLen > 0, then PDF Library will only look for plug-ins in the paths passed in pluginDirList. It will not search the earlier locations, (for example, "pdfplug_ins" folder on Windows, "PDFPlug-Ins" on Mac OS, and the list of directories passed in dirList on Unix.

  • If pluginDirListLen <= 0 or is not a part of the PDFLDataRec structure passed by the PDF Library client, then PDF Library will search the earlier locations for plug-ins.

 
pluginDirList  

An array of plug-in directories.

If a PDF Library client wants PDFL to load headless PDF Library plug-ins from desired locations, the client can pass a list of paths in pluginDirList. The 2 fields pluginDirList and pluginDirListLen are similar to the existing fields dirList and listLen.

Clients can pass an array of plug-in directories in the field pluginDirList:

  • On Windows, pluginDirList is an array of ASUTF16Val paths. Each path should be NULL-terminated.

  • On Mac OS, the paths passed in pluginDirList should be NULL-terminated UTF-8 POSIX strings. Hence, the type of pluginDirList on Mac is char **.

  • On Unix, the paths passed in pluginDirList should be simple NULL-terminated char strings.

 
colorProfileDirListLen  

Specifies the number of directories listed in colorProfileDirList.

 
colorProfileDirList  

An array of color profile directories.

If a PDF Library client wants to search for color profiles from custom directories, the client can pass a list of paths in colorProfileDirList. The 2 fields colorProfileDirList and colorProfileDirListLen are similar to the existing fields dirList and listLen.

If the client does not set this parameter then PDF Library will search for the color profiles from default locations such as Creative Suites and Acrobat installation directories. If the clients sets this parameter then PDF Library will search for the color profiles from it's default directory as well as from the custom directories specified by the client through parameter colorProfileDirList. However the order of searching for these profiles from default and custom directories is not fixed.

  • On Windows, colorProfileDirList is an array of ASUTF16Val paths. Each path should be NULL-terminated.

  • On Mac OS, the paths passed in colorProfileDirList should be NULL-terminated UTF-8 POSIX strings. Hence, the type of colorProfileDirList on Mac is char **.

  • On Unix, the paths passed in colorProfileDirList should be simple NULL-terminated char strings.

_t_PDFLMemStats 
Product availability: PDFL
Platform availability: Macintosh, Windows, UNIX

Syntax

struct _t_PDFLMemStats {
 ASUns32 numAllocs; 
 
 ASUns32 curUsage; 
 
 ASUns32 highUsage; 
}


File: PDFLExpT.h
Line: 78

_t_PDFLPrintUserCallbacks 
Product availability: PDFL
Platform availability: Macintosh, Windows, UNIX

Syntax

struct _t_PDFLPrintUserCallbacks {
 ASSize_t size; 
 
 PDPrintCanEmitFontProc CanEmitFont; 
}

The structure holding pointers to certain optional Callbacks available with the PDFLPrintDoc() API.


File: PDFLExpT.h
Line: 2345

_t_PDFLPrintUserParams 
Product availability: PDFL
Platform availability: Macintosh

Syntax

struct _t_PDFLPrintUserParams {
 ASInt32 size; 
 
 ASBool emitToFile; 
 
 PDPrintParams printParams; 
 
 ASStm printStm; 
 
 ASUns16 paperWidth; 
 
 ASUns16 paperHeight; 
 
 ASInt32 dontEmitListLen; 
 
 char** dontEmitList; 
 
 ASBool emitToPrinter; 
 
 void* printRecord; 
 
 PMPrintSession printSession; 
 
 PMPrintSettings printSettings; 
 
 PMPageFormat pageFormat; 
 
 PDFLPrintCancelProc cancelProc; 
 
 void* clientData; 
 
 int startPage; 
 
 int endPage; 
 
 int shrinkToFit; 
 
 int printAnnots; 
 
 int psLevel; 
 
 int nCopies; 
 
 int binaryOK; 
 
 int emitHalftones; 
 
 int reverse; 
 
 int doOPP; 
 
 PDFLPrintUserCallbacks userCallbacks; 
 
 PPDFeaturesP PPDFeatures; 
 
 ASText ppdFileName; 
}

Used to control printing with PDFLPrintDoc.

To print to a PostScript file, set emitToFile to true, fill in printParams, and create a writeable stream.

To print to a printer, set emitToPrinter to true, fill in printParams, and optionally fill in the command.

See Also


File: PDFLPrint.h
Line: 531

Elements
size  

Size of the data structure. It must be set to sizeof(PDFLPrintUserParamsRec).

 
emitToFile  

Create a PostScript file. Set either this parameter or emitToPrinter, but not both.

 
printParams  

PDPrintParams structure. It is used both for creating a PostScript file and printing to a printer.

 
printStm  

Writable ASStm that points to a file stream or proc stream. It applies to both a PostScript printer and a file.

 
paperWidth  

Width of paper in points. The default value is 612. It applies to a PostScript printer.

 
paperHeight  

Height of paper in points. The default value is 792. It applies to a PostScript printer.

 
dontEmitListLen  

Number of fonts that should not be downloaded. It applies to both a PostScript printer and a file.

 
dontEmitList  

List of fonts (T1, TrueType, CID) that should not be downloaded. It applies to both a PostScript printer and a file.

 
emitToPrinter  

Output a PDF file to a PostScript printer. Set either this parameter or emitToFile, but not both.

 
printRecord  

DO NOT USE: Classic (non-Carbon) printing is no longer supported.

 
printSession  

Carbon print session - may be NULL. It applies to a printer.

 
printSettings  

Carbon print settings - may be NULL. It applies to a printer.

 
pageFormat  

Carbon page format - may be NULL. It applies to a printer.

 
cancelProc  

Optional PDFLPrintCancelProc. It applies to both a PostScript printer and a file.

 
clientData  

Optional pointer to data passed to cancelProc. It applies to both a PostScript printer and a file.

 
startPage  

The page on which to start printing, using zero-based numbering. It applies to a printer.

 
endPage  

The page on which to finish printing. It applies to a printer.

 
shrinkToFit  

1 turns on shrink to fit, 0 turns it off. It applies to a PostScript printer.

 
printAnnots  

1 turns on printing annots, 0 turns it off. It applies to a printer.

 
psLevel  

PostScript level. It applies to a PostScript printer.

 
nCopies  

The number of copies to print. It applies to a printer and to a PostScript file.

 
binaryOK  

1 turns on binary data, 0 turns it off. It applies to a PostScript printer.

 
emitHalftones  

1 turns on emit half-tones, 0 turns them off. It applies to a PostScript printer.

 
reverse  

1 reverses print order, 0 does regular order. It applies to a printer.

 
doOPP  

1 uses OverPrint Preview, 0 does not. It applies to a printer.

The default is 0.

 
userCallbacks  

Optional pointer to structure containing pointers to user callback functions

 
PPDFeatures  

Optional pointer to a structure where you can add additional PPD features like staple, input tray, output tray, duplex mode etc. for output to PostScript file. For more details, see _t_PPDFeatures

 
ppdFileName  

(Optional)The name and path of the PPD file from which the PPD features will be emitted to a PostScript file. Use this field alongwith PPDFeaturesP PPDFeatures. For more details, see _t_PPDFeatures .

_t_PDFLPrintUserParams 
Product availability: PDFL
Platform availability: UNIX

Syntax

struct _t_PDFLPrintUserParams {
 ASInt32 size; 
 
 PDPrintParams printParams; 
 
 ASBool emitToFile; 
 
 ASStm printStm; 
 
 ASUns16 paperWidth; 
 
 ASUns16 paperHeight; 
 
 ASInt32 dontEmitListLen; 
 
 char** dontEmitList; 
 
 ASBool emitToPrinter; 
 
 char* command; 
 
 PDFLPrintCancelProc cancelProc; 
 
 void* clientData; 
 
 int startResult; 
 
 PDFLPrintUserCallbacks userCallbacks; 
 
 int nCopies; 
 
 PPDFeaturesP PPDFeatures; 
 
 ASText ppdFileName; 
}

Used to control printing with PDFLPrintDoc.

To print to a PostScript file, set emitToFile to true, fill in printParams, and create a writeable stream.

To print to a printer, set emitToPrinter to true, fill in printParams, and optionally fill in the command.

See Also


File: PDFLPrint.h
Line: 90

Elements
size  

Size of the data structure. Must be set to sizeof(PDFLPrintUserParamsRec).

 
printParams  

PDPrintParams structure. Used for both creating a PostScript file and printing to a printer.

 
emitToFile  

Create a PostScript file. You set either this parameter or emitToPrinter, but not both.

 
printStm  

Writable ASStm that points to a file stream or proc stream. It applies to both a PostScript printer and a file.

 
paperWidth  

Width of paper in points. The default value is 612. Applies to a PostScript printer.

 
paperHeight  

Height of paper in points. The default value is 792. Applies to a PostScript printer.

 
dontEmitListLen  

Number of fonts that should not be downloaded. Applies to both a PostScript printer and a file.

 
dontEmitList  

List of fonts (T1, TrueType, CID) that should not be downloaded. Applies to both a PostScript printer and a file.

 
emitToPrinter  

Output PDF file to a PostScript printer. Set either this parameter or emitToFile, but not both.

 
command  

Optional command line arguments. It is used only if emitToPrinter is true. For example, "lp" or "lpr" applies to a PostScript printer.

 
cancelProc  

Optional PDFLPrintCancelProc. It applies to both a a PostScript printer and a file.

 
clientData  

Optional pointer to data passed to cancelProc. Applies to both a PostScript printer and a file.

 
startResult  

Spooler ID from StartDoc

 
userCallbacks  

Optional pointer to structure containing pointers to user callback functions

 
nCopies  

(Optional) Number of copies to print. It applies to a PostScript file.

 
PPDFeatures  

Optional pointer to a structure where you can add additional PPD features like staple, input tray, output tray, duplex mode etc. for output to PostScript file. For more details, see _t_PPDFeatures

 
ppdFileName  

(Optional)The name and path of the PPD file from which the PPD features will be emitted to a PostScript file. Use this field alongwith PPDFeaturesP PPDFeatures. For more details, see _t_PPDFeatures .

_t_PDFLPrintUserParams 
Product availability: PDFL
Platform availability: Windows

Syntax

struct _t_PDFLPrintUserParams {
 ASInt32 size; 
 
 ASBool emitToFile; 
 
 PDPrintParams printParams; 
 
 ASStm printStm; 
 
 ASUns16 paperWidth; 
 
 ASUns16 paperHeight; 
 
 ASInt32 dontEmitListLen; 
 
 char** dontEmitList; 
 
 ASBool emitToPrinter; 
 
 char* inFileName; 
 
 char* outFileName; 
 
 char* deviceName; 
 
 char* driverName; 
 
 char* portName; 
 
 DEVMODEA* pDevMode; 
 
 int startPage; 
 
 int endPage; 
 
 int shrinkToFit; 
 
 int printAnnots; 
 
 int psLevel; 
 
 int nCopies; 
 
 int binaryOK; 
 
 int emitHalftones; 
 
 int reverse; 
 
 int farEastFontOpt; 
 
 int transQuality; 
 
 int doOPP; 
 
 PDFLPrintCancelProc cancelProc; 
 
 void* clientData; 
 
 int startResult; 
 
 ASUns16 inFileNameW; 
 
 ASUns16 outFileNameW; 
 
 ASUns16 deviceNameW; 
 
 ASUns16 driverNameW; 
 
 ASUns16 portNameW; 
 
 DEVMODEW* pDevModeW; 
 
 HDC pDC; 
 
 PDFLPrintUserCallbacks userCallbacks; 
 
 PPDFeaturesP PPDFeatures; 
 
 ASText ppdFileName; 
}

Used to control printing with PDFLPrintDoc.

See PDFLPrint.h for details about printing on specific platforms.

To print to a PostScript file, set emitToFile to true, fill in printParams, and create a writeable stream.

To print to a printer, set emitToPrinter to true, fill in printParams, and optionally fill in the command.

See Also


File: PDFLPrint.h
Line: 209

Elements
size  

Size of the data structure. Must be set to sizeof(PDFLPrintUserParamsRec).

 
emitToFile  

Create a PostScript file. You set either this parameter or emitToPrinter, but not both.

 
printParams  

PDPrintParams structure. It is used for both creating a PostScript file and printing to a printer.

 
printStm  

Writable ASStm that points to file stm or proc stm. It applies to both a PostScript printer and a file.

 
paperWidth  

Width of paper in points. The default value is 612. It applies to a PostScript printer.

 
paperHeight  

Height of paper in points. The default value is 792. It applies to a PostScript printer.

 
dontEmitListLen  

Number of fonts that should not be downloaded. It applies to both a PostScript printer and a file.

 
dontEmitList  

List of fonts (T1, TT, CID) that should not be downloaded. It applies to both a PostScript printer and a file.

 
emitToPrinter  

Output PDF file to a PostScript printer. Set either this parameter or emitToFile, but not both.

 
inFileName  

Deprecated. Use the Unicode version inFileNameW.

Used for the Windows DOCINFO structure (lpszDocName) that points to a NULL-terminated string that specifying the name of the document. In case of printing/exporting to Postscript, this field sets the Title DSC comment in the generated Postscript file. inFileNameW has precedence over the deprecated inFileName. If neither is provided, the Title DSC comment is filled with the name of pdf document.

 
outFileName  

Deprecated. Use the Unicode version outFileNameW.

Used for the Windows DOCINFO structure (lpszOutput). It points to a NULL-terminated string that specifies the name of an output file. If this pointer is NULL, the output will be sent to the device identified by deviceName, driverName, and portName. It applies to a printer.

 
deviceName  

Deprecated. Use the Unicode version deviceNameW.

The name of the device on which to print (for example, "Distiller Assistant v3.01"). Available devices can be found in the Windows Registry at HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Devices. It applies to a printer.

 
driverName  

Deprecated. Use the Unicode version driverNameW.

The name of the driver (for example, "winspool"). See the registry key for deviceName. It applies to the printer.

 
portName  

Deprecated. Use the Unicode version portNameW.

The name of the port (for example, "Ne00"). See the registry key for deviceName. It applies to the printer.

 
pDevMode  

Deprecated. Use the Unicode version pDevModeW.

(Optional) Allows you to pass a DEVMODE structure in if you have one.

If you do not pass in your own DEVMODE structure, PDFL creates its own by calling OpenPrinter(), DocumentProperties(), and ClosePrinter().

PDFL never calls SetPrinter() and has no facility to offer the features provided by SetPrinter() (for example, pause/resume, deleting jobs, changing printer status, etc.). DocumentProperties() is called only in the case where the client does not provide a DEVMODE.

 
startPage  

Page to start printing with, using zero-based numbering. It applies to a printer.

 
endPage  

Page on which to finish printing. It applies to a printer.

 
shrinkToFit  

1 turns on shrink to fit, 0 turns it off. It applies to a PostScript printer.

 
printAnnots  

1 turns on printing annotations, 0 turns it off. It applies to a printer.

 
psLevel  

PostScript level. It applies to a PostScript printer.

 
nCopies  

Number of copies to print. It applies to a printer and to a PostScript file.

 
binaryOK  

1 turns on binary data, 0 turns it off. It applies to a PostScript printer.

 
emitHalftones  

1 turns on emit half-tones, 0 turns it off. It applies to a PostScript printer.

 
reverse  

1 reverses print order, 0 does regular order. It applies to a printer.

 
farEastFontOpt  

One of PDFarEastFont.The default value is PDPDFarEastFont_Download_All. It applies to a PostScript printer. PDPDFarEastFont_Print_As_Image will not be honored.

 
transQuality  

Transparency flattening quality control. 1 is fastest; 5 is best. It applies to a printer. The default is 3.

 
doOPP  

1 uses OverPrint Preview, 0 does not. It applies to a printer.

The default is 0.

 
cancelProc  

Optional PDFLPrintCancelProc. It applies to both a PostScript printer and a file.

 
clientData  

Optional pointer to data passed to cancelProc. It applies to both a PostScript printer and a file.

 
startResult  

Spooler ID from StartDoc().

 
inFileNameW  

Used for the Windows DOCINFO structure (lpszDocName) that points to a NULL-terminated string that specifying the name of the document. In case of printing/exporting to Postscript, this field sets the Title DSC comment in the generated Postscript file. inFileNameW has precedence over the deprecated inFileName. If neither is provided, the Title DSC comment is filled with the name of pdf document.

 
outFileNameW  

Used for the Windows DOCINFO structure (lpszOutput). It points to a NULL-terminated string that specifies the name of an output file. If this pointer is NULL, the output will be sent to the device identified by deviceName, driverName, and portName. It applies to a printer.

 
deviceNameW  

The name of the device to print to (for example, "Distiller Assistant v3.01"). Available devices can be found in the Windows Registry at HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Devices. It applies to a printer.

 
driverNameW  

The name of the driver (for example, "winspool"). See the registry key for deviceName. It applies to the printer.

 
portNameW  

The name of the port (for example, "Ne00"). See the registry key for deviceName. It applies to the printer.

 
pDevModeW  

(Optional) Allows you to pass a DEVMODE structure in if you have one.

If you do not pass in your own DEVMODE structure, PDFL creates its own by calling OpenPrinter(), DocumentProperties(), and ClosePrinter().

PDFL never calls SetPrinter() and has no facility to offer the features provided by SetPrinter() (for example, pause/resume, deleting jobs, changing printer status, etc.). DocumentProperties() is called only in the case where the client does not provide a DEVMODE.

 
pDC  

(Optional) Allows you to pass a DeviceContext structure.

If you do not pass in your own DeviceContext structure PDFL creates its own.

 
userCallbacks  

Optional pointer to structure containing pointers to user callback functions

 
PPDFeatures  

Optional pointer to a structure where you can add additional PPD features like staple, input tray, output tray, duplex mode etc. for output to PostScript file. For more details, see _t_PPDFeatures

 
ppdFileName  

(Optional)The name and path of the PPD file from which the PPD features will be emitted to a PostScript file. Use this field alongwith PPDFeaturesP PPDFeatures. For more details, see _t_PPDFeatures .

_t_PDPrintClient 
Product availability: PDFL
Platform availability: Macintosh, Windows, UNIX

Syntax

struct _t_PDPrintClient {
 ASSize_t size; 
 
 PDDoc pdDoc; 
 
 PDPrintParams params; 
 
 void DocBegin)(const PDPageRange ranges[], ASInt32 numRanges, ASStm stm, const PDResTree docTree, PDPrintClient printClient); 
 
 ASBool DocSetup)(const PDPageRange ranges[], ASInt32 numRanges, ASStm prologStm, PDPrintClient printClient); 
 
 void EndSetup)(ASStm stm, PDPrintClient client); 
 
 void NotifyNewPage)(ASInt32 pageNum, PDPrintClient printClient); 
 
 void PageBegin)(ASStm stm, ASInt32 pageNum, const PDResTree pageTree, PDPrintClient printClient); 
 
 ASBool PageSetup)(ASStm stm, ASInt32 pageNum, PDPrintClient printClient); 
 
 void PageSetupPostResource)(ASStm stm, ASInt32 pageNum, PDPrintClient printClient); 
 
 void PageCleanup)(ASStm stm, ASInt32 pageNum, PDPrintClient printClient); 
 
 void EmitPageContents)(ASStm stm, ASInt32 pageNum, PDPage pdPage, PDPrintClient printClient); 
 
 void PageEnd)(ASStm stm, ASInt32 pageNum, ASBool veryLastPage, PDPrintClient printClient); 
 
 void DocEnd)(ASStm stm, PDPrintClient printClient, PDPrintController controller); 
 
 PDPrintGetFontEncodingMethodProc GetFontEncodingMethod; 
 
 ASInt32 GetFontVMUsage)(PDFont fontP, PDPrintClient printClient); 
 
 void EmitPSFontBegin)(ASStm stm, PDFont fontP, PDPrintClient printClient); 
 
 void EmitPSFontEnd)(ASStm stm, PDFont fontP, PDPrintClient printClient); 
 
 ASBool EmitPSFontEncodingBegin)(ASStm stm, PDFont fontP, PDPrintClient printClient); 
 
 void EmitPSFontEncodingEnd)(ASStm stm, PDFont fontP, PDPrintClient printClient); 
 
 void EmitPSResourceBegin)(ASStm stm, ASAtom resType, const char *resName, CosObj resObj, PDPrintClient printClient); 
 
 void EmitPSResourceEnd)(ASStm stm, ASAtom resType, const char *resName, CosObj resObj, PDPrintClient printClient); 
 
 ASBool ShouldCancel)(PDPrintClient printClient); 
 
 ASBool CancelPrintJob)(PDPrintClient printClient); 
 
 ASInt32 FlushString)(char *data, ASInt32 nData, PDPrintClient printClient); 
 
 ASInt32 EmitPrologString)(const char *s, ASInt32 nData, PDPrintClient printClient); 
 
 PDPrintCanEmitFontProc CanEmitFont; 
 
 PDPrintEmitFontProc EmitFont; 
 
 ASBool UndefineFont)(ASStm stm, PDFont fontP, ASBool vmUndefine, PDPrintClient client); 
 
 ASBool EmitFontProcSet)(ASStm stm, PDFont fontP, PDPrintClient client); 
 
 ASBool EmitGlyphsIncr)(ASStm stm, PDFont fontP, PDPrintStrP srcStr, PDPrintStrP dstStr, ASUns32 *srcBytesUsed, ASUns32 *dstBytesUsed, ASUns32 *glyphCount, ASUns16 *fontIndex, PDPrintClient printClient); 
 
 void GetComponentFontList)(PDFont fontP, PDPrintFontArrayP fontList, PDPrintClient printClient); 
 
 void FlushIncrGlyphList)(ASStm stm, PDPrintClient printClient); 
 
 ASBool OPIhandler)(OPIdict *opi, ASStm stm, void *clientData); 
 
 ASUns32 DataSourceString)(PDFileSpec f, char *buf, ASUns32 bufSize, void *clientData); 
 
 ASInt32 sequentialPageNum; 
 
 void* clientData; 
 
 void* fontDownloadContext; 
 
 ASInt32 vmUsed; 
 
 ASBool ProgressMonitor)(ASInt32 pageNum, ASInt32 totalPages, float current, const char *name, ASInt32 stage, void *progMonClientData); 
 
 void* progMonClientData; 
 
 void GetTimeDate)(ASText timeDate); 
 
 PDHostSepsSpec seps; 
 
 void GetClientPaperSize)(PDPrintClient printClient, ASFixed *height, ASFixed *width); 
 
 ASStm outStm; 
}

A data structure used by PDDocPrintPages. It contains methods to be implemented by the client. Unless otherwise indicated, methods may be NULL, indicating that they do nothing. The methods are called in the order listed in this structure.

See Also


File: PDFLExpT.h
Line: 1735

Elements
size  

The size of the structure.

 
pdDoc  

The document to print.

 
params  

A control structure describing how to print the document.

 
DocBegin  

(Optional) A callback for PDPrintClient. Begin processing a document for printing.

 
DocSetup  

(Optional) A callback for PDPrintClient. Set up a document for printing.

 
EndSetup  

(Optional) A callback for PDPrintClient. End the setup for printing a document.

One task that might be performed here is to broadcast a notification for each range of pages that will be printed, as in this pseudo code:

for i = 0 to numRanges-1 ... {

NOTIFY( PDDocWillPrintPages)(doc, fromPage, toPage, psLevel, binaryOK);

for pageNum = ranges[ i]-> startPage to ranges[ i]-> lastPage ...

}

 
NotifyNewPage  

(Optional) A callback for PDPrintClient. It is called once for each page printed.

A client can use this notification to update the page number in the message pane, for example.

 
PageBegin  

(Optional) A callback for PDPrintClient. It is called before a page begins printing.

 
PageSetup  

(Optional) A callback for PDPrintClient. It is called before a page is printed to set it up.

 
PageSetupPostResource  

A callback for PDPrintClient. PageSetupPostResource() is called from PDPrintPageBegin() after the resource tree has been processed (all fonts and other resources emitted into the PostScript stream).

 
PageCleanup  

(Optional) A callback for PDPrintClient. It mirrors PageSetup; PageCleanup is called before we clean our dictionaries.

 
EmitPageContents  

(Optional) A callback for PDPrintClient. It emits the page contents for printing. It broadcasts a notification that the page has been printed:

NOTIFY( PDDocDidPrintPage) (doc, page, stm, error)

There is a default callback for PostScript printing.

 
PageEnd  

(Optional) A callback for PDPrintClient. It is called after a page has printed. It broadcasts a notification that the page has printed:

NOTIFY( PDDocDidPrintPages) (doc, fromPage, toPage, error);

 
DocEnd  

(Optional) A callback for PDPrintClient. It ends processing a document for printing.

 
GetFontEncodingMethod  

This routine is called to ask the client what encoding method should be used for the font. This cannot be NULL for PostScript printing.

 
GetFontVMUsage  

(Optional) A callback for PDPrintClient. It asks the client what the VM usage is for the font.

 
EmitPSFontBegin  

(Optional) A callback for PDPrintClient. It is called before a font is emitted (outside DSC comments).

 
EmitPSFontEnd  

(Optional) A callback for PDPrintClient. It is called after a font is emitted (outside DSC comments).

 
EmitPSFontEncodingBegin  

(Optional) A callback for PDPrintClient. It is called before a font encoding is emitted.

 
EmitPSFontEncodingEnd  

(Optional) A callback for PDPrintClient. It is called after a font encoding is emitted.

 
EmitPSResourceBegin  

(Optional) A callback for PDPrintClient. It is called before a PostScript resource is emitted.

 
EmitPSResourceEnd  

(Optional) A callback for PDPrintClient. It is called after a PostScript resource is emitted.

 
ShouldCancel  

A callback for PDPrintClient. ShouldCancel is called at least once per page. It should return true if the print job should be cancelled (typically, the user hit a key combination to cancel printing).

 
CancelPrintJob  

A callback for PDPrintClient. CancelPrintJob is called to actually cause the print job to be cancelled. It should stop further printing and preferably should remove the incomplete print job.

 
FlushString  

(Required) A callback for PDPrintClient. It is called when the ASStm buffer is full. Buffered data should be sent to the printer, driver, file, or other destination. Not used for non-PostScript printing.

 
EmitPrologString  

(Optional) A callback for PDPrintClient. It emits a prolog string.

It defaults to a method that calls FlushString().

 
CanEmitFont  

This routine is called to determine whether a font can be emitted into the print job. This is used to determine whether a font is a document-included resource. It is only used for PostScript.

OPTIONAL: The default is to assume that any font can be emitted.

 
EmitFont  

REQUIRED. This routine is called to emit a font. For Type0 fonts that require font substition, this routine may emit multiple font definitions. The caller can get the list of fonts used by calling GetFontComponentList().

 
UndefineFont  

(Required) UndefineFont() is called to remove the font from the list of fonts that have been downloaded and to undefine the font from PostScript VM. It may be called during a page, at the end of the page, or between pages. After this routine is called, if the font is required again, the EmitFont() routine will be called.

 
EmitFontProcSet  

(Optional) A callback for PDPrintClient. EmitFontProcSet() is called while emitting the document prolog. It should emit any procsets required to download the font. The routine will be called once for each font in the document. However, each procset only needs to be downloaded once per document.

 
EmitGlyphsIncr  

A callback for PDPrintClient. It emits glyphs incrementally.

 
GetComponentFontList  

(Required) A callback for PDPrintClient. GetComponentFontList() is called to get the list of component font names used for substitution. For fonts that do not require substitution or are substituted by only one font, the list returned should only have one element. For a Type 0 font that requires several fonts for font substitution, the list will have multiple fonts. The font names returned are the names used by the font definitions downloaded to PostScript. The font definitions themselves are downloaded by a call to the EmitFont() routine.

 
FlushIncrGlyphList  

(Required) A callback for PDPrintClient. FlushIncrGlyphList() is called to flush the list of glyphs that have been incrementally download since the calls to EmitFont or the last call of FlushIncrGlyphList. This routine will be called if the caller generates PostScript code that would flush glyphs procedures that have been downloaded to the PostScript interpreter. For example, if at the beginning of each page, a save is executed and then at the end of a page, a restore is executed, any glyph procedures downloaded after the beginning of the page will be removed when the restore is executed.

The call to FlushIncrGlyphList() indicates that all the glyphs need to be redownloaded, by calls to EmitGlyphsIncr().

 
OPIhandler  

(Optional) A callback for PDPrintClient. If this method is supplied, then during PostScript printing, it will be called when a form or image containing an OPI dictionary is encountered. If it returns true, then the client is presumed to have taken care of the entire form or image, and PDFL will emit nothing. Otherwise, PDFL will generate OPI comments based on the dictionary.

 
DataSourceString  

(Optional) If this method is supplied, and the emitExternalStreamRef parameter in the PDPrintParamsRec is true, then during PostScript printing this method will be called when an external stream is encountered. If the method is not supplied, or if it returns NULL, then the simple path name will be written as the DataSource for the stream; otherwise, the returned string will be written as the DataSource.

The DataSource is used thus:

/ DataSource (xxxxx) (r) file

where xxxxx is the returned string or the simple path name.

 
sequentialPageNum  

The current page, starting at 1.

 
clientData  

Data for the client's use. This data is passed to the OPIhandler and DataSourceString methods.

 
fontDownloadContext  

For the client's use to hold a font download context for the EmitFontProcSet.

 
vmUsed  

The amount of virtual memory used. It is incremented by routines that download fonts and resources.

 
ProgressMonitor  

Optional. If ProgressMonitor, then during PostScript printing, it will be called when page uses the flattener to print.

 
GetTimeDate  

For use in the Exchange product, when emitting the time/date of the print job (the PageInfo mark for separations), this callback takes an ASText object and the client side fills in the timeDate with a localized representation of the current date and time. This could be called from the Tiling code as well.

 
seps  

Pro product only.

 
GetClientPaperSize  

For internal use of PDFL. SDK clients must set this parameter to NULL.

 
outStm  

Output stream for creating postscript file.

_t_PPDFeatures 
Product availability: PDFL
Platform availability: Macintosh, Windows, UNIX

Syntax

struct _t_PPDFeatures {
 ASUns32 size; 
 
 ASText InputSlot; 
 
 ASText OutputBin; 
 
 ASText Duplex; 
 
 ASText StapleLocation; 
 
 ASText StapleX; 
 
 ASText StapleY; 
 
 ASText StapleOrientation; 
 
 ASText StapleWhen; 
}

Used to control the emitting of PPD dependent features to a PostScript file when printing with PDFLPrintDoc. These features are emitted only if emitToFile is set to true. Please see PDFLPrintDoc for more details.

This can be used to generate PPD dependent PostScript file on all platforms.

All PPD features in the structure are optional. Set only the ones you want to be emit to the output PostScript file.

The PPD file and its path should be passed in as ppdFileName inside PDFLPrintUserParamsRec.

If the PPD feature specified here does not exist in the passed PPD file, then it will not be outputted in the generated PostScript file. For eg. if Upper is passed as InputSlot and there is no tray as Upper in the PPD file, then the generated PostScript file will not contain an entry setting InputSlot to Upper.

Note: If no PPD file is passed then this structure would be ignored.


File: PDFLPrint.h
Line: 698

Elements
size  

Size of the data structure. It must be set to sizeof(PPDFeaturesRec).

 
InputSlot  

Optional. Specifies the Input Tray of the printer. For eg. Upper

 
OutputBin  

Optional. Specifies the Onput Tray of the printer. For eg. Left

 
Duplex  

Optional. Specifies the Duplex mode. For eg. DuplexTumble

 
StapleLocation  

Optional. Specifies the location for stapling. For eg. SinglePortrait. Either StapleLocation should be used or both StapleX and StapleY to specify the location for stapling.

 
StapleX  

Optional. Specifies the StapleX. For eg. Left. Also read the comment on StapleLocation

 
StapleY  

Optional. Specifies the StapleY. For eg. Top. Also read the comment on StapleLocation

 
StapleOrientation  

Optional. Specifies the orientation of the stapling. For eg. 45

 
StapleWhen  

Optional. Specifies when to staple. For eg. EndOfPage

_t_TermProcs 
Product availability: PDFL
Platform availability: Macintosh, Windows, UNIX

Syntax

struct _t_TermProcs {
 PDFLTermType termProc; 
}


File: PDFLInitCommon.h
Line: 47

_t_textList 
Product availability: PDFL
Platform availability: Macintosh, Windows, UNIX

Syntax

struct _t_textList {
 char* name; 
 
 _t_textList next; 
}

List structure used in TIFFASCIITagList.


File: PDFLExpT.h
Line: 1408

Elements
name  

Tag name.

 
next  

Pointer to next list element.

_t_TIFFASCIITagList 
Product availability: PDFL
Platform availability: Macintosh, Windows, UNIX

Syntax

struct _t_TIFFASCIITagList {
 ASInt32 tagNumber; 
 
 TextList tagText; 
 
 _t_TIFFASCIITagList next; 
}

TIFF ASCII tags.


File: PDFLExpT.h
Line: 1416

Elements
tagNumber  

The tag number

 
tagText  

Tag text list.

 
next  

For OPI 1.3, the TextList contains only one element.

_t_TKAllocatorProcs 
Product availability: PDFL
Platform availability: Macintosh, Windows, UNIX

Syntax

struct _t_TKAllocatorProcs {
 ASClientAllocProc allocProc; 
 
 ASClientReallocProc reallocProc; 
 
 ASClientFreeProc freeProc; 
 
 ASClientMemAvailProc memAvailProc; 
 
 void* clientData; 
}

A structure for memory allocation callbacks used by the PDF Library.

See Also


File: PDFInit.h
Line: 150

Elements
allocProc  

Called when the PDF Library needs to allocate memory.

 
reallocProc  

Called when the PDF Library needs to reallocate a block of memory.

 
freeProc  

Called when the PDF Library needs to free a block of memory.

 
memAvailProc  

Called when the PDF Library needs to determine the amount of memory available.

 
clientData  

A pointer to data to pass into each of the memory management callbacks.

_t_TKExtensionProcs 
Product availability: PDFL
Platform availability: Macintosh, Windows, UNIX

Syntax

struct _t_TKExtensionProcs {
 ASExtensionProgressProc progressProc; 
 
 ASExtensionReportErrorProc reportErrProc; 
 
 void* clientData; 
}

A structure containing function pointers for ASExtension callbacks used by the PDF Library.

See Also


File: PDFInit.h
Line: 345

Elements
progressProc  

Called when the PDF Library needs to allocate memory.

 
reportErrProc  

Called when the PDF Library needs to reallocate a block of memory.

 
clientData  

A void* of data to pass into each of the memory management callbacks.

_t_TKResourceProcs 
Product availability: PDFL
Platform availability: Macintosh, Windows, UNIX

Syntax

struct _t_TKResourceProcs {
 TKResourceAcquireProc acquireProc; 
 
 TKResourceReleaseProc releaseProc; 
 
 void* clientData; 
}

Structure for resource acquisition callbacks used by the PDF Library.

See Also


File: PDFInit.h
Line: 244

Elements
acquireProc  

Called when the PDF Library needs to acquire resources.

 
releaseProc  

Called when the PDF Library needs to release resources.

 
clientData  

A pointer to data to pass into every call to the PMSetTextProc() or TKResourceReleaseProc() as the clientData argument.

ImageInks 
Product availability: PDFL
Platform availability: Macintosh, Windows, UNIX

Syntax

struct ImageInks {
 ImageInk type; 
 
 MonoInkList mono; 
}

Image inks.


File: PDFLExpT.h
Line: 1512

Elements
type  

Image ink type.

 
mono  

Image ink monochrome list. This is defined only if type == ImageInk_Monochrome.

OPI13dict 
Product availability: PDFL
Platform availability: Macintosh, Windows, UNIX

Syntax

struct OPI13dict {
 TIFFASCIITagList aldImageAsciiTags; 
 
 float c; 
 
 float m; 
 
 float y; 
 
 float k; 
 
 char* name; 
 
 struct OPI13dict::@3 aldImageColor; 
 
 ALDImageColorType aldImageColorType; 
 
 float aldImageCropFixed[4]; 
 
 ASUns32 aldImageCropRect[4]; 
 
 ASUns32 aldImageDimensions[2]; 
 
 PDFileSpec aldImageFileName; 
 
 ASUns16 aldImageGrayMap; 
 
 ASUns16 aldImageGrayMapLength; 
 
 char* aldImageID; 
 
 ASBool aldImageOverprint; 
 
 float aldImagePosition[8]; 
 
 float aldImageResolution[2]; 
 
 float aldImageTint; 
 
 ASBool aldImageTransparency; 
 
 ASUns32 aldImageType[2]; 
 
 char* aldObjectComments; 
 
 unsigned aldimageasciitags; 
 
 unsigned aldimagecolor; 
 
 unsigned aldimagecolortype; 
 
 unsigned aldimagecropfixed; 
 
 unsigned aldimagecroprect; 
 
 unsigned aldimagedimensions; 
 
 unsigned aldimagefilename; 
 
 unsigned aldimagegraymap; 
 
 unsigned aldimageid; 
 
 unsigned aldimageoverprint; 
 
 unsigned aldimageposition; 
 
 unsigned aldimageresolution; 
 
 unsigned aldimagetint; 
 
 unsigned aldimagetransparency; 
 
 unsigned aldimagetype; 
 
 unsigned aldobjectcomments; 
 
 struct OPI13dict::@4 defined; 
}

OPI 1.3 dictionary.


File: PDFLExpT.h
Line: 1426

Elements
aldImageAsciiTags  

TIFF ASCII tags.

 
aldImageColorType  

Image color type.

 
aldImageCropFixed  

The portion of the image to be used.

 
aldImageCropRect  

The portion of the image to be used ([left top right bottom]). REQUIRED.

 
aldImageDimensions  

Included image dimensions. [width height] REQUIRED. /Size in PDF.

 
aldImageFileName  

REQUIRED. Image file name.

 
aldImageGrayMap  

Changes to the brightness or contrast of the image.

 
aldImageGrayMapLength  

Length of the GrayMap array (2, 16, or 256).

 
aldImageID  

Image identifier.

 
aldImageOverprint  

Determines whether the image is to overprint (true) or knock out (false) underlying marks on other separations.

 
aldImagePosition  

The location on the page of the cropped image ([llx lly ulx uly urx ury lrx lry]. REQUIRED.

 
aldImageResolution  

Image resolution ([horiz vert]).

 
aldImageTint  

The concentration of the color in which the image is to be rendered.

 
aldImageTransparency  

Specifies whether white pixels in the image are to be treated as transparent.

 
aldImageType  

Specifies the number of samples per pixel and bits per sample in the image ([samplesPerPixel bitsPerSample]).

 
aldObjectComments  

A human-readable comment, typically containing instructions or suggestions to the operator of the OPI server on how to handle the image.

 
OPI20dict 
Product availability: PDFL
Platform availability: Macintosh, Windows, UNIX

Syntax

struct OPI20dict {
 float imageCropRect[4]; 
 
 float imageDimensions[2]; 
 
 PDFileSpec imageFileName; 
 
 ImageInks imageInks; 
 
 ASBool imageOverprint; 
 
 ASUns32 includedImageDimensions[2]; 
 
 float includedImageQuality; 
 
 char* mainImage; 
 
 TIFFASCIITagList tiffAsciiTags; 
 
 unsigned imagecroprect; 
 
 unsigned imagedimensions; 
 
 unsigned imagefilename; 
 
 unsigned imageinks; 
 
 unsigned imageoverprint; 
 
 unsigned includedimagedimensions; 
 
 unsigned includedimagequality; 
 
 unsigned mainimage; 
 
 unsigned tiffasciitags; 
 
 struct OPI20dict::@5 defined; 
}

OPI 2.0 dictionary.


File: PDFLExpT.h
Line: 1520

Elements
imageCropRect  

The portion of the image to be used ([left top right bottom]). OPTIONAL.

 
imageDimensions  

The dimensions of the included image ([width height]). OPTIONAL.

 
imageFileName  

The external file containing the image. The following values are required if imageCropRect and imageDimensions are defined:

0 <= left < right <= width

0 <= top < bottom <= height

REQUIRED.

 
imageInks  

The colorants to be applied to the image.

 
imageOverprint  

Specifies whether the image is to overprint (true) or knock out (false) underlying marks on other separations.

 
includedImageDimensions  

Included image dimensions.

 
includedImageQuality  

The quality of the included image.

 
mainImage  

The path name of the file containing the full-resolution image.

 
OPIdict 
Product availability: PDFL
Platform availability: Macintosh, Windows, UNIX

Syntax

struct OPIdict {
 OPIversion version; 
 
 OPI13dict dict13; 
 
 OPI20dict dict20; 
 
 union OPIdict::@6 dict; 
}

OPI dictionary.


File: PDFLExpT.h
Line: 1571

Elements
version  

OPI version (1.3 or 2.0).

 
PDPrintFontArray 
Product availability: PDFL
Platform availability: Macintosh, Windows, UNIX

Syntax

struct PDPrintFontArray {
 ASUns32 count; 
 
 ASBool usesDisplayCTFont; 
 
 PDPrintFontP arr; 
}

An array of font pointers for use in PDFontPSGetComponentFontList.

See Also


File: PDFLExpT.h
Line: 276

Elements
count  

The number of fonts in arr.

 
usesDisplayCTFont  

Whether to use the Display CT Font.

 
arr  

The font array.

PDPrintFontRec 
Product availability: PDFL
Platform availability: Macintosh, Windows, UNIX

Syntax

struct PDPrintFontRec {
 const char* name; 
 
 const char* encoding; 
 
 const char* cidFontName; 
 
 ASInt16 style; 
 
 PDFontStyle syntheticStyle; 
 
 ASBool used; 
 
 ASBool emitted; 
 
 ASInt32 baseLineAdj; 
 
 ASUns32 flags; 
}


File: PDFLExpT.h
Line: 236

Elements
name  

The font name.

 
encoding  

The font encoding.

 
cidFontName  

CID font name.

 
style  

Gothic or Mincho.

 
syntheticStyle  

Roman, Italic, Bold, or BoldItalic.

 
used  

Set to true if glyphs from this component are used.

 
emitted  

Set to true if this component is emmitted.

 
baseLineAdj  

Baseline adjustment.

 
flags  

Flags bits.

PDPrintParamsRec 
Product availability: PDFL
Platform availability: Macintosh, Windows, UNIX

Syntax

struct PDPrintParamsRec {
 ASSize_t size; 
 
 PDPageRange ranges; 
 
 ASInt32 numRanges; 
 
 ASBool shrinkToFit; 
 
 ASBool expandToFit; 
 
 ASBool rotateAndCenter; 
 
 PDPrintWhat printWhat; 
 
 PDPrintWhatAnnot printWhatAnnot; 
 
 ASBool emitPS; 
 
 ASInt32 psLevel; 
 
 PDOutputType outputType; 
 
 PDInclusion incBaseFonts; 
 
 PDInclusion incEmbeddedFonts; 
 
 PDInclusion incType1Fonts; 
 
 PDInclusion incType3Fonts; 
 
 PDInclusion incTrueTypeFonts; 
 
 PDInclusion incCIDFonts; 
 
 PDInclusion incProcsets; 
 
 PDInclusion incOtherResources; 
 
 ASInt32 fontPerDocVM; 
 
 ASBool emitShowpage; 
 
 ASBool emitTTFontsFirst; 
 
 ASBool setPageSize; 
 
 ASBool emitDSC; 
 
 ASBool setupProcsets; 
 
 ASBool emitColorSeps; 
 
 ASBool binaryOK; 
 
 ASBool useSubFileDecode; 
 
 ASBool emitRawData; 
 
 ASBool TTasT42; 
 
 float scale; 
 
 ASBool emitExternalStreamRef; 
 
 ASBool emitHalftones; 
 
 ASBool emitPSXObjects; 
 
 ASBool centerCropBox; 
 
 ASBool emitSeparableImagesOnly; 
 
 ASBool emitDeviceExtGState; 
 
 ASFixedRect boundingBox; 
 
 ASBool useFontAliasNames; 
 
 ASBool emitPageRotation; 
 
 ASBool reverse; 
 
 ASFixedRect tCropBox; 
 
 ASBool emitPageClip; 
 
 ASBool emitTransfer; 
 
 ASBool emitBG; 
 
 ASBool emitUCR; 
 
 PDFarEastFont farEastFontOpt; 
 
 ASBool suppressCJKSubstitution; 
 
 ASBool suppressCSA; 
 
 ASBool hostBased; 
 
 ASAtom hostBasedOutputCS; 
 
 PDDuplexEnum duplex; 
 
 PDPageTilingMode doTiling; 
 
 PDTileEx tileInfo; 
 
 ASBool rotate; 
 
 ASBool hostBasedCM; 
 
 char destProfile[256]; 
 
 ASAtom destCSAtom; 
 
 ASBool saveVM; 
 
 ASBool doOPP; 
 
 ASInt32 suppressOPPWhenNoSpots; 
 
 ASBool optimizeForSpeed; 
 
 ASBool brokenCRDs; 
 
 ASBool useMaxVM; 
 
 ASInt32 lastWidth; 
 
 ASInt32 lastHeight; 
 
 ASUns32 bitmapResolution; 
 
 ASUns32 gradientResolution; 
 
 ASUns32 transparencyQuality; 
 
 PDOCContext ocContext; 
 
 ASBool applyOCGPrintOverrides; 
 
 ASBool useFullResolutionJP2KData; 
 
 ASBool emitInRipSeps; 
 
 PDPageMarkFlags whichMarks; 
 
 ASBool westernMarksStyle; 
 
 ASBool doProofing; 
 
 char proofProfile[256]; 
 
 ASBool inkBlack; 
 
 ASBool paperWhite; 
 
 ASBool useExecForm; 
 
 PDFlatten flattenInfo; 
 
 ASBool negative; 
 
 ASEnum8 mirrorprint; 
 
 ASUns32 numCollatedCopies; 
 
 ASBool emitFlatness; 
 
 ASInt32 trapType; 
 
 ASBool TTasCIDT2; 
 
 ASInt32 markStyle; 
 
 float lineWidth; 
 
 ASBool macQDPrinter; 
 
 ASPathName customMarksFileName; 
 
 ASBool grayToK; 
}

A data structure indicating how a document should be printed.

See Also


File: PDFLExpT.h
Line: 471

Elements
size  

The size of the data structure. It must be set to sizeof(PDPrintParams).

 
ranges  

Ranges of pages to print. Use NULL to print the entire document.

 
numRanges  

The number of ranges of pages to print in ranges. The default value is 0.

 
shrinkToFit  

true if the page is scaled to fit the printer page size, false otherwise. This field overrides the scale. The default value is false.

 
expandToFit  

true if small pages are to be scaled up to fit the printer page size, false otherwise. It overrides the scale. The default value is false.

 
rotateAndCenter  

true if the page is to be rotated to fit the printer's orientation and centered in the printer's page size; false otherwise.The default value is false. Rotation and centering (true) only occur, however, if the page contents are too wide to fit on a narrow page (or vice versa) and the page contents are less than an inch smaller than the target page in one direction.

 
printWhat  

Print the document, the document and comments, or document form fields only.

 
printWhatAnnot  

Annotation flags which modify PDPrintWhat to enable Pro product behavior.

 
emitPS  

If true, emit a PostScript file. The default value is true.

 
psLevel  

PostScript level: 1, 2, or 3. The default value is 2.

 
outputType  

Print PostScript or EPS with or without a preview.

 
incBaseFonts  

Embed the base fonts. The default value is kIncludeNever.

 
incEmbeddedFonts  

Embed fonts that are embedded in the PDF file. This overrides the incType1Fonts, incTrueTypeFonts, and incCIDFonts fields. The default value is kIncludeOncePerDoc.

 
incType1Fonts  

Embed Type 1 fonts. The default value is kIncludeOncePerDoc.

 
incType3Fonts  

Embed Type 3 fonts. The default value is kIncludeOnEveryPage.

 
incTrueTypeFonts  

Embed TrueType fonts. The default value is kIncludeOncePerDoc.

 
incCIDFonts  

Embed CID fonts. The default value is kIncludeOncePerDoc.

 
incProcsets  

Include Procsets in the file. The default value is kIncludeOncePerDoc.

 
incOtherResources  

Include all other types of resources in the file. The default value is kIncludeOncePerDoc.

 
fontPerDocVM  

The amount of VM available for font downloading at the document level. It is ignored if it is less than or equal to 0.

 
emitShowpage  

Emit save and restore showpage in PostScript files. The default value is true.

 
emitTTFontsFirst  

Emit TrueType fonts before any other fonts. The default value is false.

 
setPageSize  

(PostScript level 2 only) Set the page size on each page. Use the media box for outputting to PostScript files, use the crop box for EPS files. Default is false.

 
emitDSC  

Write DSC (Document Structuring Conventions) comments. The default value is true.

 
setupProcsets  

If procsets are included, also include init/term code. The default value is true.

 
emitColorSeps  

Emit images for Level-1 separations. The default value is false.

 
binaryOK  

true if binary data is permitted in the PostScript file, false otherwise. It is overridden by the printer's "Output Protocol" device settings. The default value is true.

 
useSubFileDecode  

Add SubFileDecode filter to work around stream problems [false]. The SubFileDecode filter will always be emitted when you print as binary.

 
emitRawData  

true if adding no unnecessary filters when emitting image data, false otherwise. The default value is true.

 
TTasT42  

If including TrueType fonts, convert to Type 42 fonts instead of Type 1 fonts. The default value is false. This parameter is valid only for the Export to PS workflow and not for printing to a printer.

 
scale  

The document-wide scale factor. 100.0 = full size. The default value is 100.

 
emitExternalStreamRef  

If an Image resource uses an external stream, emit code that points to the external file. The default value is false.

 
emitHalftones  

Preserve any halftone screening in the PDF file. The default value is false.

 
emitPSXObjects  

Emit PostScript XObjects into the PostScript stream [false].

 
centerCropBox  

true if CropBox output is centered on the page when the CropBox < MediaBox, false otherwise. The default value is true.

 
emitSeparableImagesOnly  

If emitting EPS, include only CMYK and gray images.

 
emitDeviceExtGState  

When emitting the extended graphics state, include the device-dependent parameters (overprint, black generation, undercolor removal, transfer, halftone, halftone phase, smoothness, flatness, rendering intent) in addition to the device-independent parameters (font, line width, line cap, line join, miter limit, dash pattern). If this flag is false, only the device-independent parameters will be emitted. This flag overrides emitHalftones; if this is false, then halftones are not emitted. [true]

 
boundingBox  

If all zeroes, it is ignored. Otherwise, it is used for %BoundingBox DSC comment and in centerCropBox calculations and for setpagedevice. The default value is [0 0 0 0].

 
useFontAliasNames  

Used when printing with system fonts. The default value is false.

 
emitPageRotation  

Emit a concat at the beginning of each page so that the page is properly rotated. Used when emitting EPS. The default value is false.

 
reverse  

If set to true, reverse the order of page output.

 
tCropBox  

Temporary crop box to represent the selected region.

 
emitPageClip  

Emit page clip.

 
emitTransfer  

Emit transfer.

 
emitBG  

Emit black generation.

 
emitUCR  

Emit undercolor removal.

 
farEastFontOpt  

GDI to PS or download CJK fonts. PDPDFarEastFont_Print_As_Image will not be honored.

 
suppressCJKSubstitution  

If true, do not perform CJK substitution on the printer. This will work only when farEastFontOpt is PDPDFarEastFont_Download_None.

 
suppressCSA  

Do not emit CSAs for 4-component (CMYK) colors. This will take precedence over the hostbasedCM settings.

 
hostBased  

For separator, do host-based color management.

 
hostBasedOutputCS  

The output color space when hostBased color management is true.

 
duplex  

Sets the duplex mode if the device supports duplex printing. The default value is kPDDuplexOff.

 
doTiling  

Determines whether to tile none, all, or only large pages.

 
tileInfo  

If non-NULL, tiling is desired with these parameters.

 
rotate  

Enable the auto-rotating behavior from past versions of Acrobat.

 
hostBasedCM  

Do hostBased color management using the destination profile. The default is false, which means doing CSA generation for profiles instead of converting all colors on the host.

 
destProfile  

If hostBase color management is true, use this profile. It should be the name of the profile like "U.S. Web Coated (SWOP) v2" and not the name of the file.

 
destCSAtom  

An ASAtom representing the device color space (DeviceGray, DeviceRGB, and so on).

 
saveVM  

true means try to save VM when printing to PostScript.

 
doOPP  

Do the overprint preview operation.

 
suppressOPPWhenNoSpots  

When true, suppress OPP for pages that do not contain spot colors

 
optimizeForSpeed  

If true, do it fast; false means PostScript code must be page-independent. If it is set to true, font downloads are forced from kIncludeOnEveryPage to kIncludeOncePerDoc.

 
brokenCRDs  

If true, do not set rendering intent in PostScript stream due to broken non-default CRDs.

 
useMaxVM  

If true, store all possible resources in VM.

 
lastWidth  

Used when setPageSize is true to prevent unneeded setpagedevice calls.

 
lastHeight  

Used when setPageSize is true to prevent unneeded setpagedevice calls.

 
bitmapResolution  

DPI for bitmaps. The default is 300. This will only work when you set useFullResolutionJP2KData to false; it should not be less then 50.

 
gradientResolution  

DPI for gradients interior to the object (not edges). It can generally be lower than the bitmapResolution. The default is 150.

 
transparencyQuality  

The transparency level. The range is 0-100.

 
ocContext  

The optional-content context to use for visibility state information, or NULL to use the document's current states in the default context.

 
applyOCGPrintOverrides  

Print-specific visiblity state settings are always applied from the optional-content group. applyOCGPrintOverrides is no longer honored. It is always considered as true whatever may be the value passed to it.

 
useFullResolutionJP2KData  

Determines whether to use the maximum available JPEG2000 resolution.

 
emitInRipSeps  

When true, it requests that separations, one sheet per ink, be generated in the RIP (printer). It is available only in Acrobat Professional.

 
whichMarks  

Page mark indication. It is a bit-wise OR of the PDPageMarkFlags values.

It applies to print separations, which are available only in Acrobat Professional.

 
westernMarksStyle  

When true, use western style for page marks. It applies to print separations, which are available only in Acrobat Professional. Obsoleted by markStyle below.

 
doProofing  

When true, print using proofing settings.

 
proofProfile  

Description string for the proofing profile.

 
inkBlack  

Proofing settings: simulate ink black.

 
paperWhite  

Proofing settings: simulate paper white.

 
useExecForm  

When true, emit execform calls when emitting Form XObjects.

 
flattenInfo  

A structure containing parameters that control tile flattening.

 
negative  

When true, invert the plate.

 
mirrorprint  

One of the following constants:

kPDPrintFlipNone = 0x01

kPDPrintFlipX = 0x02

kPDPrintFlipY = 0x04

kPDPrintFlipXY = 0x08

Mirroring is done in the PostScript output stream.

 
numCollatedCopies  

Enables collation for the viewer.

 
emitFlatness  

Honors the flatness settings over gstate flatness.

 
trapType  

The trap type:

  • kPDPrintTrapNone = 0x01.

  • kPDPrintTrapOnHost = 0x02 is not supported in Acrobat 7.

  • kPDPrintTrapInRIP = 0x04.

 
TTasCIDT2  

This parameter is obsolete from PDFL 10.0. When this is set, emit TrueType fonts as CIDType2 instead of as CIDFontType0.

 
markStyle  

Specify the style to use for page marks. The PDPrintMarkStyles enum contains possible styles. It applies to print separations, which are available only in Acrobat Pro.

 
lineWidth  

The line weight to use for printer marks.

 
macQDPrinter  

true if the printer is a Mac QuickDraw printer, false otherwise.

 
customMarksFileName  

If markStyle == -1, this should be a valid file name pointing to a valid .mrk file for custom printer marks.

 
grayToK  

convert Gray to K (any Gray to CMYK (0,0,0,K))

PDPrintStr 
Product availability: PDFL
Platform availability: Macintosh, Windows, UNIX

Syntax

struct PDPrintStr {
 char* str; 
 
 ASUns32 len; 
 
 ASRealPoint displacements; 
 
 ASUns32 numGlyphs; 
 
 ASUns32 flags; 
}

A structure for controlling the printing of glyphs.

See Also


File: PDFLExpT.h
Line: 186

Elements
str  

The string.

 
len  

Byte length.

 
displacements  

Displacements.

 
numGlyphs  

The number of glyphs.

 
flags  

Flags. Reserved for internal use.

Callbacks Detail
ASClientAllocProc 
Product availability: PDFL
Platform availability: Macintosh, Windows, UNIX

Syntax

void * (*ASClientAllocProc)(void *clientData, ASSize_t size)

Called when the PDF Library needs to allocate memory. The callback should allocate the requested amount of memory and return it as a void*.

See Also


File: PDFInit.h
Line: 95
ASClientFreeProc 
Product availability: PDFL
Platform availability: Macintosh, Windows, UNIX

Syntax

void (*ASClientFreeProc)(void *clientData, void *p)

Called when the PDF Library needs to free memory. The callback should free the requested block of memory.

See Also


File: PDFInit.h
Line: 126
ASClientMemAvailProc 
Product availability: PDFL
Platform availability: Macintosh, Windows, UNIX

Syntax

ASSize_t (*ASClientMemAvailProc)(void *clientData)

Called when the PDF Library needs to determine the amount of available free memory.

See Also


File: PDFInit.h
Line: 140
ASClientReallocProc 
Product availability: PDFL
Platform availability: Macintosh, Windows, UNIX

Syntax

void * (*ASClientReallocProc)(void *clientData, void *p, ASSize_t size)

Called when the PDF Library needs to reallocate memory. The callback should reallocate the requested amount of memory and return it as a void*.

See Also


File: PDFInit.h
Line: 112
PDDoExtGStateProc 
Product availability: PDFL
Platform availability: Macintosh, Windows, UNIX

Syntax

ASBool (*PDDoExtGStateProc)(ASAtom egsKey, CosObj egsValue, PDPrintClient printClient)

A callback method that is called when an ExtGState object is encountered. This method is called for each key/value pair in the ExtGState object. If this method returns true, then the key/value will be emitted into the print job. If this method returns false, then nothing will be emitted for this key/value. If emitHalftones is false, then this method will not be called for the HT key.

See Also


File: PDFLExpT.h
Line: 1654
PDFLClientRNGProc 
Product availability: PDFL
Platform availability: Macintosh, Windows, UNIX

Syntax

ASSize_t (*PDFLClientRNGProc)(ASSize_t len, ASUns8P buffer)

A callback for PDFLibraryRegisterRNG(). It is called once to provide random data for encryption. Normally an operating system supplied source of highly random numbers is used (/dev/urandom on Mac OS and Unix, CryptGenRandom() on Windows). For some supported Unix environments, the /dev/urandom device does not exist. While it is preferable to install this device, the PDFLibraryRegisterRNG() function is provided for the client to register an alternate source for strong random data.

See Also


File: PDFLExpT.h
Line: 109
PDFLGetCoreHFTType 
Product availability: PDFL
Platform availability: Macintosh, Windows, UNIX

Syntax

HFT (*PDFLGetCoreHFTType)()

File: PDFLInitCommon.h
Line: 35
PDFLInitThreadLocalDataType 
Product availability: PDFL
Platform availability: Macintosh, Windows, UNIX

Syntax

void * (*PDFLInitThreadLocalDataType)(ThreadLocalKey *key, ASUns32 size)

File: PDFLInitCommon.h
Line: 36
PDFLInitType 
Product availability: PDFL
Platform availability: Macintosh, Windows, UNIX

Syntax

ASInt32 (*PDFLInitType)(PDFLData data)

File: PDFLInitCommon.h
Line: 34
PDFLPrintCancelProc 
Product availability: PDFL
Platform availability: Macintosh, Windows, UNIX

Syntax

ASBool (*PDFLPrintCancelProc)(PDDoc pdDoc, void *clientData)

This is called once per page of a document being printed.

In addition to giving the ability to cancel the print job, a developer can use this callback to return control briefly to an application to handle events, update UI elements, and so on. The library pauses printing until the return from this procedure, because it is single-threaded.

See Also


File: PDFLPrint.h
Line: 69
PDFLTermType 
Product availability: PDFL
Platform availability: Macintosh, Windows, UNIX

Syntax

void (*PDFLTermType)()

File: PDFLInitCommon.h
Line: 37
PDPrintCanEmitFontProc 
Product availability: PDFL
Platform availability: Macintosh, Windows, UNIX

Syntax

ASBool (*PDPrintCanEmitFontProc)(PDFont fontP, PDPrintClient printClient)

(Optional) A callback for PDPrintClient. It is called to determine whether a font can be emitted into the print job. This is used to determine whether a font is a document-included resource. Only used for PostScript printing.

If it is NULL, the default is to assume that any font can be emitted.

See Also


File: PDFLExpT.h
Line: 1712
PDPrintEmitFontProc 
Product availability: PDFL
Platform availability: Macintosh, Windows, UNIX

Syntax

ASBool (*PDPrintEmitFontProc)(ASStm stm, PDFont fontP, PDPrintClient printClient, ASUns32 flags)

(Required) A callback for PDPrintClient. It emits a font. For Type0 fonts that require font substition, this routine may emit multiple font definitions. The caller can get the list of fonts used by calling GetFontComponentList().

See Also


File: PDFLExpT.h
Line: 1694
PDPrintGetFontEncodingMethodProc 
Product availability: PDFL
Platform availability: Macintosh, Windows, UNIX

Syntax

ASInt32 (*PDPrintGetFontEncodingMethodProc)(PDFont fontP, PDPrintClient printClient)

(Required for PostScript printing) A callback for PDPrintClient. It asks the client which encoding method should be used for the font.

See Also


File: PDFLExpT.h
Line: 1677
TKResourceAcquireProc 
Product availability: PDFL
Platform availability: Macintosh, Windows, UNIX

Syntax

void * (*TKResourceAcquireProc)(char *resourceName, ASInt32 resType, void *registry, ASInt32 *size, void *clientData, ASStm *rdStm)

A callback in the TKResourceProcs structure in the Adobe PDF Library. It acquires the specified resource and uses it to fill in the rdStm parameter.

See Also


File: PDFInit.h
Line: 219
TKResourceReleaseProc 
Product availability: PDFL
Platform availability: Macintosh, Windows, UNIX

Syntax

void (*TKResourceReleaseProc)(ASStm rdStm, void *data, void *clientData)

A callback in the TKResourceProcs structure in the Adobe PDF Library. It releases the resources previously acquired and closes the ASStm passed in as rdStm.

See Also


File: PDFInit.h
Line: 235

Method Detail
ASAtomGetCount()
Product availability: PDFL
Platform availability: Macintosh, Windows, UNIX

Syntax

ASInt32 ASAtomGetCount()

Gets the number of ASAtom objects that have been allocated. The maximum number of ASAtom objects is 0xFFFFFFFF. (This was a 16-bit value in Acrobat 4.x, and changed to a 32-bit value in Acrobat 5.0).

ASAtom objects cannot be deleted or freed. Use this method to determine if it is necessary to re-initialize the library before creating more ASAtom objects.

Returns

The number of ASAtom objects currently allocated.

See Also


File: PDFLProcs.h
Line: 130
ASFileSysGetDefaultTempPath() 
Product availability: PDFL
Platform availability: Macintosh, Windows, UNIX

Syntax

ASPathName ASFileSysGetDefaultTempPath(ASFileSys fileSys)

Gets the default temporary path that was set by ASFileSysSetDefaultTempPath().

Parameters

fileSys — 

The file system in which the ASPathname is set.

Returns

The ASPathName if the operation was successful, NULL otherwise.

See Also


File: PDFLProcs.h
Line: 163
ASFileSysSetDefaultTempPath() 
Product availability: PDFL
Platform availability: Macintosh, Windows, UNIX

Syntax

ASBool ASFileSysSetDefaultTempPath(ASFileSys fileSys, ASPathName pathName)

Sets the default temporary path for the specified file system to the specified path name. The method copies the passed pathname object on success; the client is responsible for releasing the object when it is no longer needed, using ASFileSysReleasePath().

Pass a pathname of NULL to reset the default temporary path to the file system default.

Parameters

fileSys — 

(May be NULL) The file system in which to set the default temporary path.

 
pathName — 

The path name for the new default temporary path, or NULL to reset to the file system default.

Returns

false if the path provided is not writable, true otherwise.

See Also


File: PDFLProcs.h
Line: 151
ASPurgeMemory() 
Product availability: PDFL
Platform availability: Macintosh, Windows, UNIX

Syntax

ASSize_t ASPurgeMemory(ASSize_t amount)

Attempts to free memory from the PDF Library caches.

The caches in the PDF Library can grow in complex and unexpected ways. A client can manage memory use with the PDFLInit memory callbacks, or by explicitly calling this function after certain functions, such as PDDocClose().

To manage memory use with the memory callbacks, a client can call ASPurgeMemory() during the allocation callback if it is low on memory, or to limit the amount of memory used by the library. Use this approach only with extreme caution and extensive testing. The run-time memory requirements are very document-specific.

Parameters

amount — 

The desired amount of memory to free.

Returns

The approximate amount of memory freed.

See Also


File: PDFLProcs.h
Line: 113
AVExtensionMgrRegisterNotification() 
Product availability: PDFL
Platform availability: Macintosh, Windows, UNIX

Syntax

void AVExtensionMgrRegisterNotification(NSelector nsel, ASExtension owner, void* proc, void* clientData)

Registers a user-supplied procedure to call when the event of the specified type occurs. This is exactly the same as the AVAppRegisterNotification() method. All of the PD level notifications are available with the Adobe PDF Library.

Parameters

nsel — 

Notification type. It must be one of the notification selectors. The notification selector is the name of the notification with the characters NSEL appended. For example, the selector for PDDocDidPrintPage() is PDDocDidPrintPageNSEL. Only the PD-level notifications are available with the Adobe PDF Library.

 
owner — 

Identifies the owner. For the Adobe PDF Library, if there is only one owner of the PDFEdit subsystem, owner should be zero. If there are multiple owners, each should specify a nonzero, non-negative owner. (A negative owner is reserved for the implementation).

 
proc — 

A user-supplied callback to be called when the notification occurs. Its declaration depends on the notification type.

 
clientData — 

A pointer to user-supplied data to pass to proc each time it is called.

See Also


File: PDFLProcs.h
Line: 611
AVExtensionMgrUnregisterNotification() 
Product availability: PDFL
Platform availability: Macintosh, Windows, UNIX

Syntax

void AVExtensionMgrUnregisterNotification(NSelector nsel, ASExtension owner, void* proc, void* clientData)

Unregisters a user-supplied procedure to call when the specified event occurs. This is exactly the same as the AVAppUnregisterNotification() method.

Parameters

nsel — 

Notification type. It must be one of the notification selectors. The notification selector is the name of the notification with the characters NSEL appended. For example, the selector for PDDocDidOpen() is PDDocDidOpenNSEL.

 
owner — 

Identifies the owner with which the notification was registered.

 
proc — 

A user-supplied callback with which the notification was registered.

 
clientData — 

A pointer to user-supplied data that was used when the notification was registered.

See Also


File: PDFLProcs.h
Line: 631
PDDocPrintPages() 
Product availability: PDFL
Platform availability: Macintosh, Windows, UNIX

Syntax

void PDDocPrintPages(PDPrintClient client)

Prints a range of pages from a document, controlled by a structure of data and callbacks.

Parameters

client — 

Control structure for the operation, containing data and callback procedures.

See Also

Exceptions

genErrBadParm

Notifications


File: PDFLProcs.h
Line: 191
PDFLGetCoreHFT() 
Product availability: PDFL
Platform availability: Macintosh, Windows, UNIX

Syntax

HFT PDFLGetCoreHFT()

Gets the Core HFT.

Returns

The Core HFT object.

See Also


File: PDFInit.h
Line: 905
PDFLGetFlags() 
Product availability: PDFL
Platform availability: Macintosh, Windows, UNIX

Syntax

ASUns32 PDFLGetFlags()

Gets the flags set when the PDF Library was initialized. Currently kPDFLInitIgnoreDefaultDirectories and kDontLoadPlugIns flags are supported.

When kPDFLInitIgnoreDefaultDirectories flag is set, the initialization process does not search through the default font directories (currently Adobe font directories installed by some Adobe applications), but only searches for fonts in those directories specified in dirList. A default directory could appear as follows:

C:\Program Files\Common Files\Adobe\PDFL\[version number]\Fonts

C:\Program Files\Common Files\Adobe\PDFL\[version number]\CMaps

When the kDontLoadPlugIns flag is set, plug-ins are ignored during initialization process.

Returns

The initialization flags value.

See Also


File: PDFLProcs.h
Line: 727
PDFLGetInitCount() 
Product availability: PDFL
Platform availability: Macintosh, Windows, UNIX

Syntax

ASUns32 PDFLGetInitCount()

Gets the number of times the PDF Library has been initialized.

Returns

The number of times the PDF Library has been initialized.

See Also


File: PDFLProcs.h
Line: 706
PDFLGetVersion() 
Product availability: PDFL
Platform availability: Macintosh, Windows, UNIX

Syntax

ASUns32 PDFLGetVersion()

Gets the value of the Adobe PDF Library version (kPDFLVersion). The most significant 16 bits are the major version number; the least significant 16 bits are the minor version number. The major version number indicates whether any incompatible API changes have been made. The minor version number indicates that the API has changed, but in a compatible fashion.

Returns

Adobe PDF Library version (kPDFLVersion).

See Also


File: PDFLProcs.h
Line: 686
PDFLibraryRegisterNotification() 
Product availability: PDFL
Platform availability: Macintosh, Windows, UNIX

Syntax

void PDFLibraryRegisterNotification(NSelector nsel, ASExtension owner, void* proc, void* clientData)

Registers a user-supplied procedure to call when the specified event occurs. This is exactly the same as the AVAppRegisterNotification method. All of the PD level notifications are available with the Adobe PDF Library.

Parameters

nsel — 

Notification type. It must be one of the notification selectors. The notification selector is the name of the notification with the characters NSEL appended. For example, the selector for PDDocDidPrintPage() is PDDocDidPrintPageNSEL. Only the PD-level notifications are available with the Adobe PDF Library.

 
owner — 

Identifies the owner. For the Adobe PDF Library, if there is only one owner of the PDFEdit subsystem, owner should be zero. If there are multiple owners, each should specify a nonzero, non-negative owner. (A negative owner is reserved for the implementation).

 
proc — 

A user-supplied callback to be called when the notification occurs. Its declaration depends on the notification type.

 
clientData — 

A pointer to user-supplied data to pass to proc each time it is called.

See Also


File: PDFLProcs.h
Line: 63
PDFLibraryRegisterNotificationEx() 
Product availability: PDFL
Platform availability: Macintosh, Windows, UNIX

Syntax

void PDFLibraryRegisterNotificationEx(NSelector nsel, ASExtension owner, void* proc, void* clientData, ASInt32 priority)

Registers a user-supplied procedure to call when the specified event occurs.

Many notifications appear in Will/Did pairs (for example, AVDocWillPerformAction() and AVDocDidPerformAction()). It is possible that an operation may fail after the Will notification and before the Did notification. When this occurs, the Did notification is still broadcast, but the err parameter in the Did notification is nonzero, and represents the error that occurred. When err is nonzero, the other parameters are not necessarily valid. Always check err in a Did notification before using the other parameters.

When calling AVAppUnregisterNotification() to un-register for a notification, you must pass the proc, clientData, and owner that were used when the notification was registered using AVAppRegisterNotification(). You must use the same callback that was used to register; you cannot use a newly created callback. To accomplish this, call ASCallbackCreateNotification() once before registering, and use the value returned from this call both to register and un-register; do not call ASCallbackCreateNotification() a second time when un-registering. You will then need to destroy the pointer to the callback using the ASCallbackDestroy() method.

Parameters

nsel — 

The notification type. It must be one of the notification selectors . The notification selector is the name of the notification with the characters NSEL appended. For example, the selector for AVDocDidOpen() is AVDocDidOpenNSEL.

 
owner — 

The gExtensionID of the client registering the notification.

 
proc — 

A user-supplied callback to call when the notification occurs. Its declaration depends on the notification type. Remember to use ASCallbackCreateNotification() to convert proc to a callback before passing it to AVAppRegisterNotification().

 
clientData — 

A pointer to user-supplied data to pass to proc each time it is called.

 
priority — 

The callbacks are enumerated in priority order, starting with the highest priority.


File: PDFLProcs.h
Line: 802
PDFLibraryRegisterRNG() 
Product availability: PDFL
Platform availability: Macintosh, Windows, UNIX

Syntax

void PDFLibraryRegisterRNG(PDFLClientRNGProc clientRNG)

Registers a user-supplied random number generator. By default, the PDF Library obtains high-quality random values from the operating system (CryptGenRandom() on Windows, and /dev/random on Mac OS and many UNIX operating systems). This method allows an alternate handler to be used. The random numbers returned should be of high quality, and it is the responsibility of the developer to ensure this. A NULL parameter will reset to default behavior.

Parameters

clientRNG — 

A client-supplied function that supplies the strong random values.

See Also


File: PDFLProcs.h
Line: 818
PDFLibraryUnregisterNotification() 
Product availability: PDFL
Platform availability: Macintosh, Windows, UNIX

Syntax

void PDFLibraryUnregisterNotification(NSelector nsel, ASExtension owner, void* proc, void* clientData)

Unregisters a user-supplied procedure to call when the specified event occurs. This is exactly the same as the AVAppUnregisterNotification() method.

Parameters

nsel — 

Notification type. It must be one of the notification selectors. The notification selector is the name of the notification with the characters NSEL appended. For example, the selector for PDDocDidOpen() is PDDocDidOpenNSEL.

 
owner — 

Identifies the owner. For the PDF Library, if there is only one owner of the PDFEdit subsystem, owner should be zero. If there are multiple owners, each should specify a nonzero, non-negative owner. (A negative owner is reserved for the implementation).

 
proc — 

A user-supplied callback to be called when the notification occurs. Its declaration depends on the notification type. You must use the same callback that you called AVExtensionMgrRegisterNotification() with.

 
clientData — 

A pointer to user-supplied data to pass to proc each time it is called.

See Also


File: PDFLProcs.h
Line: 89
PDFLInit() 
Product availability: PDFL
Platform availability: Macintosh, Windows, UNIX

Syntax

ASInt32 PDFLInit(PDFLData data)

Initializes the Adobe PDF Library. This method must be called before any other Library calls can be made, printing or otherwise.

Parameters

data — 

Initialization data for Adobe PDF Library.

Returns

0 if initialization was successful, or an error code if it was not. Use ASGetErrorString() to convert any error code to a string.

See Also


File: PDFInit.h
Line: 883
PDFLInitCommon() 
Product availability: PDFL
Platform availability: Macintosh, Windows, UNIX

Syntax

ASInt32 PDFLInitCommon(PDFLData data, InitProcsP procs, os_size_t sizeHFTLocTab)

Parameters

data
 
procs
 
sizeHFTLocTab

Returns

File: PDFLInitCommon.h
Line: 57
PDFLInitHFT() 
Product availability: PDFL
Platform availability: Macintosh, Windows, UNIX

Syntax

ASInt32 PDFLInitHFT(PDFLData data)

Parameters

data

Returns

File: PDFInit.h
Line: 890
PDFLInitHFT() 
Product availability: PDFL
Platform availability: Macintosh, Windows, UNIX

Syntax

ASInt32 PDFLInitHFT(PDFLData data)

Parameters

data

Returns

File: PDFLInitHFT.c
Line: 38
PDFLInitThreadLocalData() 
Product availability: PDFL
Platform availability: Macintosh, Windows, UNIX

Syntax

void* PDFLInitThreadLocalData(ThreadLocalKey* key, ASUns32 size)

Parameters

key
 
size

Returns

File: PDFInit.h
Line: 898
PDFLPrintDoc() 
Product availability: PDFL
Platform availability: Macintosh, Windows, UNIX

Syntax

void PDFLPrintDoc(PDDoc doc, PDFLPrintUserParams userParams)

Prints a PDF document or pages from a PDF document allowing the caller to specify options such as page size, rotation, and shrink-to-fit.

Parameters

doc — 

The PDDoc for the document to print.

 
userParams — 

Parameters to control printing.

Exceptions

cosErrWriteError
pdErrOpNotPermitted
genErrBadParm

Notifications


File: PDFLProcs.h
Line: 751
PDFLPrintPDF() 
Product availability: PDFL
Platform availability: Macintosh, Windows, UNIX

Syntax

void PDFLPrintPDF(PDDoc pdDoc, ASPathName pathName, PDPrintParams psParams)

Deprecated: use PDFLPrintDoc() instead.

Parameters

pdDoc
 
pathName
 
psParams


File: PDFLProcs.h
Line: 758
PDFLTerm() 
Product availability: PDFL
Platform availability: Macintosh, Windows, UNIX

Syntax

void PDFLTerm()

Terminates the Adobe PDF Library. Call this method after you are completely done using the library. Call this once to terminate and release memory used by the library. After the library has been shut down, the process should terminate.

See Also


File: PDFLProcs.h
Line: 696
PDFLTermCommon() 
Product availability: PDFL
Platform availability: Macintosh, Windows, UNIX

Syntax

void PDFLTermCommon(TermProcsP termProcs)

Parameters

termProcs


File: PDFLInitCommon.h
Line: 64
PDFLTermHFT() 
Product availability: PDFL
Platform availability: Macintosh, Windows, UNIX

Syntax

void PDFLTermHFT()


File: PDFInit.h
Line: 892
PDFLTermHFT() 
Product availability: PDFL
Platform availability: Macintosh, Windows, UNIX

Syntax

void PDFLTermHFT()


File: PDFLInitHFT.c
Line: 57
PDFontDownloadContextCreate() 
Product availability: PDFL
Platform availability: Macintosh, Windows, UNIX

Syntax

PDFontDownloadContext PDFontDownloadContextCreate(PDPrintClient client)

Creates a font download context object. This object keeps track of the fonts downloaded during a print job and whether substitution fonts have already been downloaded. It also tracks the font download parameters, such as binaryOK and 'emit TrueType as Type 42'. It is meant for use in the PDFontStreamPS() method.

Parameters

client — 

The client record to pass to PDDocPrintPages().

Returns

The newly-created context.

See Also


File: PDFLProcs.h
Line: 271
PDFontDownloadContextDestroy() 
Product availability: PDFL
Platform availability: Macintosh, Windows, UNIX

Syntax

void PDFontDownloadContextDestroy(PDFontDownloadContext context)

Destroys a font download context object. Call this method after PDDocPrintPages() returns.

Parameters

context — 

IN/OUT The context to destroy.

See Also


File: PDFLProcs.h
Line: 280
PDFontPSEmitGlyphsIncr() 
Product availability: PDFL
Platform availability: Macintosh, Windows, UNIX

Syntax

ASBool PDFontPSEmitGlyphsIncr(ASStm stm, PDFont fontP, PDPrintStrP srcStr, PDPrintStrP dstStr, ASUns32* srcBytesUsedP, ASUns32* dstBytesUsedP, ASUns32* glyphCount, ASUns16* fontIndexP, PDPrintClient printClient)

Emit glyphs incrementally. This is the default EmitGlyphsIncr callback procedure for the PDPrintClient structure.

Parameters

stm — 

The stream.

 
fontP — 

The font.

 
srcStr — 

The source string.

 
dstStr — 

The destination string.

 
srcBytesUsedP — 

The source bytes used.

 
dstBytesUsedP — 

The destination bytes used.

 
glyphCount — 

The number of glyphs.

 
fontIndexP — 

The font index.

 
printClient — 

The control structure.

Returns

true if successful, false otherwise.

See Also


File: PDFLProcs.h
Line: 428
PDFontPSFlushIncrGlyphList() 
Product availability: PDFL
Platform availability: Macintosh, Windows, UNIX

Syntax

void PDFontPSFlushIncrGlyphList(ASStm stm, PDPrintClient printClient)

Flush the incremental glyphs list from a stream. This is the default FlushIncrGlyphList callback procedure for the PDPrintClient structure.

Parameters

stm — 

The stream.

 
printClient — 

The control structure.

See Also


File: PDFLProcs.h
Line: 453
PDFontPSGetComponentFontList() 
Product availability: PDFL
Platform availability: Macintosh, Windows, UNIX

Syntax

void PDFontPSGetComponentFontList(PDFont fontP, PDPrintFontArrayP pdFontArr, PDPrintClient printClient)

Get the component font list. This is the default GetComponentFontList callback procedure for the PDPrintClient structure.

Parameters

fontP — 

The font.

 
pdFontArr — 

The font array.

 
printClient — 

The control structure.

See Also


File: PDFLProcs.h
Line: 440
PDFontStreamPS() 
Product availability: PDFL
Platform availability: Macintosh, Windows, UNIX

Syntax

ASBool PDFontStreamPS(PDFont fontP, ASStm stm, PDFontDownloadContext context)

Emits a font into a specified stream. The font is in a format suitable for downloading to a PostScript VM. For example, a TrueType font is converted into a Type 1 or Type 42 font.

It is meant for use in the EmitFont callback for PDDocPrintPages().

Parameters

fontP — 

The font to emit.

 
stm — 

The ASStm into which the font is emitted.

 
context — 

A context created by PDFontDownloadContextCreate.

Returns

true if successful, false otherwise.

See Also


File: PDFLProcs.h
Line: 256
PDFontWasExtracted() 
Product availability: PDFL
Platform availability: Macintosh, Windows, UNIX

Syntax

ASBool PDFontWasExtracted(PDFont fontP)

Tests whether the specified font is embedded in the PDF file and has already been extracted to display or print the file.

Parameters

fontP — 

The font to test.

Returns

true if the font is embedded in the PDF file and has been extracted, false otherwise.

See Also


File: PDFLProcs.h
Line: 304
PDFontWasFauxed() 
Product availability: PDFL
Platform availability: Macintosh, Windows, UNIX

Syntax

ASBool PDFontWasFauxed(PDFont font)

Tests whether the specified font is embedded in the PDF file or is installed in the user's system. If this is the case, the correct font can be used for display and printing.

If the font is not embedded or installed, the Acrobat viewer has used a Multiple Master font to create a substitute font, called a faux font.

Parameters

font — 

The font to test.

Returns

true if the font has been substituted, false otherwise.

See Also


File: PDFLProcs.h
Line: 322
PDPageDrawContentsPlacedToWindow() 
Product availability: PDFL
Platform availability: Macintosh, Windows, UNIX

Syntax

void PDPageDrawContentsPlacedToWindow(PDPage page, void* window, void* displayContext, ASBool isDPS, ASFixedMatrix* matrix, ASFixedRect* updateRect, CancelProc cancelProc, void* cancelProcClientData)

Draws the page to the window or display context. The window and display context are implementation-dependent. This API is not available on Mac 64.

This method is the same as PDPageDrawContentsToWindow(), except that it raises an exception if the pdPermCopy (see PDPerms) permission is not set in the document.

Parameters

page — 

The page to draw into window.

 
window — 

The platform window to which to render. On Windows, the window is an HWND. On Mac OS, the window is a WindowPtr, a GrafPtr, or a CGrafPtr.

 
displayContext — 

The platform display context to which to render. On Windows, displayContext is an HDC. On Mac OS, it is currently unused.

 
isDPS — 

Currently unused. Always set it to false.

 
matrix — 

A pointer to the matrix to concatenate onto the default page matrix. It is useful for converting from page to window coordinates and for scaling.

 
updateRect — 

A pointer to the rectangle to draw, defined in user space coordinates. Any objects outside of updateRect will not be drawn. All objects are drawn if updateRect is NULL.

 
cancelProc — 

A method called to check whether drawing should be cancelled. If the method returns true, drawing is stopped, nothing is erased, and the window contains whatever was drawn up to the current state.

 
cancelProcClientData — 

A pointer to user-supplied data to pass to cancelProc each time it is called. It should be NULL if cancelProc is NULL.

See Also

Exceptions

pdErrOpNotPermitted is raised if the pdPermCopy permission in PDPermReqObj for the document is not set.

File: PDFLProcs.h
Line: 239
PDPageDrawContentsPlacedWithParams() 
Product availability: PDFL
Platform availability: Macintosh, Windows, UNIX

Syntax

void PDPageDrawContentsPlacedWithParams(PDPage page, PDDrawParams params)

Draws the page to the window or display context. The window and display context are implementation-dependent. This API is not available on Mac 64.

This method is the same as PDPageDrawContentsToWindow(), except that it raises an exception if the pdPermCopy (see PDPerms) permission is not set in the document. This method is also like PDPageDrawContentsPlacedToWindow(), only passing in a PDDrawParams structure which lets the clients specify their own PDOCContext.

Parameters

page — 

The page to render.

 
params — 

Allows clients to specify their own PDOCContext.

See Also

Exceptions

pdErrOpNotPermitted is raised if the pdPermCopy permission in PDPermReqObj is not set.

File: PDFLProcs.h
Line: 540
PDPageDrawContentsToMemory() 
Product availability: PDFL
Platform availability: Macintosh, Windows, UNIX

Syntax

ASInt32 PDPageDrawContentsToMemory(PDPage page, ASUns32 flags, ASFixedMatrix* matrix, ASFixedRect* updateRect, ASUns32 smoothFlags, ASAtom csAtom, ASInt32 bpc, ASFixedRect* destRect, char* buffer, ASInt32 bufferSize, CancelProc cancelProc, void* cancelProcData)

Superseded by PDPageDrawContentsToMemoryEx() in Acrobat 10.0.

Renders a page to memory. The width of the image is calculated as follows:

width = abs(ASFixedRoundToInt16(destRect.right) - ASFixedRoundToInt16(destRect.left));

width = ((((width * bpc * nComps)+31) / 32) * 4) * 8 / (bpc * nComps);

nComps = 1 for DeviceGray, 3 for DeviceRGB, 4 for DeviceCMYK

bpc = bits per component

Parameters

page — 

The page to render.

 
flags — 

A bit field of PDPageDrawFlags(). It must be an OR of the following flags:

Flag

Description

kPDPageDoLazyErase

If set, it erases the bitmap if the first object drawn does not cover the page's entire crop box.

kPDPageUseAnnotFaces

If set, it draws annotations that have a default face, such as the visible fields in an Acrobat form. Text and link annotations are not drawn.

kPDPageIsPrinting

If set, then form annotations are rendered as if they are being printed. This means that form fields marked as 'Hidden but printable' are rendered, but fields marked as 'Visible but doesn't print' will not be rendered. If it is not set, then form annotations are rendered as if they are being viewed. This means that form fields marked as 'Hidden but printable' are not rendered, but fields marked as 'Visible but doesn't print' will be.

 
matrix — 

A pointer to the matrix to be concatenated onto the default page matrix. It must not be NULL.

 
updateRect — 

A pointer to the rectangle to draw, defined in user space coordinates. Any objects outside of updateRect will not be drawn. All objects are drawn if updateRect is NULL.

 
smoothFlags — 

A bit field of PDPageDrawSmoothFlags(). It must be an OR of the following flags:

  • kPDPageDrawSmoothText

  • kPDPageDrawSmoothLineArt

  • kPDPageDrawSmoothImage

  • kPDPageDrawSmoothBicubicImage

 
csAtom — 

The color space in which the bitmap data is represented. It must be one of DeviceGray, DeviceRGB, or DeviceCMYK.

 
bpc — 

The number of bits per color component in the bitmap data. 8 is the only valid value for DeviceCMYK and DeviceRGB color spaces. 1 and 8 are valid for DeviceGray.

 
destRect — 

A pointer to the rectangle of the bitmap. It is defined in device space coordinates. It must not be NULL.

 
buffer — 

A pointer to the bitmap data. If it is NULL, this function returns the size of the buffer needed for the bitmap.

 
bufferSize — 

The size of the buffer.

 
cancelProc — 

A method to call to check whether drawing should be cancelled. If the method returns true, drawing is stopped, nothing is erased, and the buffer contains whatever was drawn up to the current state.

 
cancelProcData — 

User-supplied data to pass to cancelProc each time it is called.

Returns

The size of the bitmap in bytes.

See Also


File: PDFLProcs.h
Line: 519
PDPageDrawContentsToMemoryEx() 
Product availability: PDFL
Platform availability: Macintosh, Windows, UNIX

Syntax

ASUns32 PDPageDrawContentsToMemoryEx(PDPage page, ASCab flags, ASDoubleMatrix* matrix, ASDoubleRect* updateRect, ASAtom csAtom, ASInt32 bpc, ASDoubleRect* destRect, char* buffer, ASUns32 bufferSize, CancelProc cancelProc, void* cancelProcData)

Supersedes PDPageDrawContentsToMemory() in Acrobat 10.0.

Renders a page to memory. It uses double precision input parameters. The width of the image is calculated as follows:

width = abs(ROUND(destRect.right) - ROUND(destRect.left));

width = ((((width * bpc * nComps)+31) / 32) * 4) * 8 / (bpc * nComps);

nComps = 1 for DeviceGray, 3 for DeviceRGB, 4 for DeviceCMYK

bpc = bits per component where, ROUND() rounds off double precision values to nearest Int32 value.

Parameters

page — 

The page to render.

 
flags — 

ASCab used for passing PDPageDrawFlagsStr and PDPageDrawSmoothFlagsStr.

 
matrix — 

A pointer to double matrix to be concatenated onto the default page matrix. It must not be NULL.

 
updateRect — 

A pointer to the double rectangle to draw, defined in user space coordinates.

 
csAtom — 

The color space in which the bitmap data is represented.

 
bpc — 

The number of bits per color component in the bitmap data.

 
destRect — 

A pointer to double rectangle of the bitmap. It is defined in device space coordinates. It must not be NULL.

 
buffer — 

A pointer to the bitmap data. If it is NULL, this function returns the size of the buffer needed for the bitmap.

 
bufferSize — 

The size of the buffer.

 
cancelProc — 

A method to call to check whether drawing should be cancelled.

 
cancelProcData — 

User-supplied data to pass to cancelProc each time it is called.

Returns

The size of the bitmap in bytes.

See Also


File: PDFLProcs.h
Line: 926
PDPageEmitPSOrient() 
Product availability: PDFL
Platform availability: Macintosh, Windows, UNIX

Syntax

void PDPageEmitPSOrient(PDPage pdPage, ASInt16 paperHeight, ASInt16 paperWidth, ASStm stm, PDPrintParams params)

Parameters

pdPage
 
paperHeight
 
paperWidth
 
stm
 
params

See Also


File: PDFLProcs.h
Line: 199
PDPageGetSize() 
Product availability: PDFL
Platform availability: Macintosh, Windows, UNIX

Syntax

void PDPageGetSize(PDPage page, ASFixed* width, ASFixed* height)

Returns the width and height of the page, which could be rotated or defaulted.

Parameters

page — 

The page whose size is being obtained.

 
width — 

(Filled by the method) The width of the page.

 
height — 

(Filled by the method) The height of the page.


File: PDFLProcs.h
Line: 290
PDPrefGetAntialiasLevel() 
Product availability: PDFL
Platform availability: Macintosh, Windows, UNIX

Syntax

ASInt16 PDPrefGetAntialiasLevel()

Returns the antialias level, in pixels.

Returns

The antialias level set by PDPrefSetAntialiasLevel().

See Also


File: PDFLProcs.h
Line: 370
PDPrefGetBlackPointCompensation() 
Product availability: PDFL
Platform availability: Macintosh, Windows, UNIX

Syntax

ASBool PDPrefGetBlackPointCompensation()

Returns the black-point compensation flag.

Returns

true if black-point compensation is done.

See Also


File: PDFLProcs.h
Line: 395
PDPrefGetEnableThinLineHeuristics() 
Product availability: PDFL
Platform availability: Macintosh, Windows, UNIX

Syntax

ASBool PDPrefGetEnableThinLineHeuristics()

Determines whether thin lines will be fattened non-linearly or the stroke adjust will be applied to thin rectangles.

Returns

true if thin line heuristics are applied, false otherwise.


File: PDFLProcs.h
Line: 883
PDPrefGetGreekLevel() 
Product availability: PDFL
Platform availability: Macintosh, Windows, UNIX

Syntax

ASInt16 PDPrefGetGreekLevel()

Returns the greek level.

Returns

The greek level set by PDPrefSetGreekLevel().

See Also


File: PDFLProcs.h
Line: 362
PDPrefGetRefXObj() 
Product availability: PDFL
Platform availability: Macintosh, Windows, UNIX

Syntax

PDRefXObjMode PDPrefGetRefXObj(ASFileSys* fileSys, ASPathName* pathName)

Gets reference XObject parameters.

Parameters

fileSys — 

Used with pathname to specify the location where the target files should be located. These are used to look for the target document.

 
pathName — 

Used with pathname to specify the location where the target files should be located. These are used to look for the target document. The order followed is that given in the PDF Reference.

Returns

File: PDFLProcs.h
Line: 870
PDPrefGetSuppressICCSpaces() 
Product availability: PDFL
Platform availability: Macintosh, Windows, UNIX

Syntax

ASBool PDPrefGetSuppressICCSpaces(ASUns32 nComponents)

Returns the value of the suppress flag for ICC-based spaces with the specified number of components.

Parameters

nComponents — 

The number of ICC-based space components that are suppressed or not, according to the flag value.

Returns

The suppress flag value.

See Also


File: PDFLProcs.h
Line: 584
PDPrefGetUseOutputIntents() 
Product availability: PDFL
Platform availability: Macintosh, Windows, UNIX

Syntax

ASBool PDPrefGetUseOutputIntents()

Returns the value of the Output Intent flag. When this flag is true, the system overrides the working space with the Output Intent, if it is present.

Returns

The Output Intent flag value.

See Also


File: PDFLProcs.h
Line: 562
PDPrefSetAntialiasLevel() 
Product availability: PDFL
Platform availability: Macintosh, Windows, UNIX

Syntax

void PDPrefSetAntialiasLevel(ASInt16 antialiasPixelLevel)

Sets the default smooth text and smooth images global flags for subsequent rendering methods.

If the function PDPageDrawContentsToMemory() is used for drawing, the smoothFlags value passed to that function supersedes the preference value for the duration of the call.

Parameters

antialiasPixelLevel — 

The antialias level, in pixels. It is an OR of the following flags:

  • kPDPrefAASmoothText

  • kPDPrefAASmoothLineArt

  • kPDPrefAASmoothImage

See Also


File: PDFLProcs.h
Line: 354
PDPrefSetBlackPointCompensation() 
Product availability: PDFL
Platform availability: Macintosh, Windows, UNIX

Syntax

void PDPrefSetBlackPointCompensation(ASBool kbpc)

Sets the black-point compensation flag, which controls whether to adjust for differences in black points when converting colors between color spaces. When enabled, the full dynamic range of the source space is mapped into the full dynamic range of the destination space. When disabled, the dynamic range of the source space is simulated in the destination space (which can result in blocked or gray shadows).

Parameters

kbpc — 

true to enable black-point compensation, false otherwise.

See Also


File: PDFLProcs.h
Line: 387
PDPrefSetEnableThinLineHeuristics() 
Product availability: PDFL
Platform availability: Macintosh, Windows, UNIX

Syntax

void PDPrefSetEnableThinLineHeuristics(ASBool doThinLineTricks)

Sets whether thin lines will be fattened non-linearly or the stroke adjust will be applied to thin rectangles.

Parameters

doThinLineTricks — 

true if thin line heuristics are applied, false otherwise.


File: PDFLProcs.h
Line: 877
PDPrefSetGreekLevel() 
Product availability: PDFL
Platform availability: Macintosh, Windows, UNIX

Syntax

void PDPrefSetGreekLevel(ASInt16 greekPixelLevel)

Sets the greek level. The greek level is a text height below which text characters are not rendered. Instead, text-like glyphs that have no meaning but look good at very small size are used. This is known as greeking.

Parameters

greekPixelLevel — 

The greek level, in pixels.

See Also


File: PDFLProcs.h
Line: 334
PDPrefSetRefXObj() 
Product availability: PDFL
Platform availability: Macintosh, Windows, UNIX

Syntax

void PDPrefSetRefXObj(PDRefXObjMode refXObjMode, ASFileSys fileSys, ASPathName pathName)

Sets reference XObject parameters.

Parameters

refXObjMode — 

The mode to view or print reference XObjects. Its value can be one of the following:

Reference XObject mode

Description

kRefXObjNever

Does nothing. The function returns false.

kRefXObjAlways

Find a substitution with minimal checking.

kRefXObjPDFX5

Restrict substitutions to PDF/X-5 conforming ones.

kRefXObjAlwaysAssured

Fail the parser if the target is not found. Do not display the proxy.

kRefXObjPDFX5Assured

Fail the parser if the target PDF/X-5 document not found. Do not display the proxy.

 
fileSys — 

Used with pathname to specify the location where the target files should be located. These are used to look for the target document.

 
pathName — 

Used with pathname to specify the location where the target files should be located. These are used to look for the target document. The order followed is that given in the PDF Reference.


File: PDFLProcs.h
Line: 861
PDPrefSetSuppressICCSpaces() 
Product availability: PDFL
Platform availability: Macintosh, Windows, UNIX

Syntax

void PDPrefSetSuppressICCSpaces(ASUns32 nComponents, ASBool value)

Specifies use of a default color space rather than an ICC-based color space.

Parameters

nComponents — 

The number of ICC color space components.

 
value — 

When true, use a DefaultCMYK, DefaultRGB, or DefaultGray color space instead of an ICC-based color space with the same number of components.

See Also


File: PDFLProcs.h
Line: 574
PDPrefSetUseLocalFonts() 
Product availability: PDFL
Platform availability: Macintosh, Windows, UNIX

Syntax

void PDPrefSetUseLocalFonts(ASBool useLocalFonts)

Enables or disables use of local fonts.

Parameters

useLocalFonts — 

When true, use local fonts. When false, use global fonts.


File: PDFLProcs.h
Line: 403
PDPrefSetUseOutputIntents() 
Product availability: PDFL
Platform availability: Macintosh, Windows, UNIX

Syntax

void PDPrefSetUseOutputIntents(ASBool flag)

Sets the Output Intent flag.

Parameters

flag — 

When true, use Output Intent to override a working space if it is present.

See Also


File: PDFLProcs.h
Line: 552
PDPrefSetWorkingCMYK() 
Product availability: PDFL
Platform availability: Macintosh, Windows, UNIX

Syntax

void PDPrefSetWorkingCMYK(void* profile, ASUns32 profileLength)

Sets the current CMYK working space to a given ICC profile. A CMYK working space in PDF is defined as a profile to substitute for a corresponding /DeviceCMYK space.

Parameters

profile — 

A pointer to a buffer containing the ICC color profile.

 
profileLength — 

The length in bytes of the profile.

See Also


File: PDFLProcs.h
Line: 655
PDPrefSetWorkingGray() 
Product availability: PDFL
Platform availability: Macintosh, Windows, UNIX

Syntax

void PDPrefSetWorkingGray(void* profile, ASUns32 profileLength)

Sets the current gray working space to a given ICC profile. A gray working space in PDF is defined as a profile to substitute for a corresponding /DeviceGray space. When rendering with overprint preview, the gray substitution is suppressed, to avoid converting grayscale to "rich black."

Parameters

profile — 

A pointer to a buffer containing the ICC color profile.

 
profileLength — 

The length in bytes of the profile.

See Also


File: PDFLProcs.h
Line: 669
PDPrefSetWorkingRGB() 
Product availability: PDFL
Platform availability: Macintosh, Windows, UNIX

Syntax

void PDPrefSetWorkingRGB(void* profile, ASUns32 profileLength)

Set the current RGB working space to a given ICC profile. An RGB working space in PDF is defined as a profile to substitute for a corresponding /DeviceRGB space.

Parameters

profile — 

A pointer to a buffer containing the ICC color profile.

 
profileLength — 

The length in bytes of the profile.

See Also


File: PDFLProcs.h
Line: 643
PSPrintAfterBeginPageSetup() 
Product availability: All
Platform availability: All

Syntax

void PSPrintAfterBeginPageSetup(PDDoc doc, ASInt32 page, ASStm stm, void* clientData)

This notification is broadcast after the beginning of the Page Setup (immediately after writing %% BeginPageSetup) during the printing of a page to a PostScript printer with the methods PDFLPrintDoc() (only available with PDF Library SDK) or PDDocPrintPages() (only available with PDF Library SDK). At this point it is possible to use setpagedevice and set the graphics state but marks cannot be made on the page.

Parameters

doc — 

IN/OUT The document from which a page is printed.

 
page — 

IN/OUT The page number of the page being printed.

 
stm — 

IN/OUT The PostScript print stream. PostScript commands can be added to the print stream using ASStmWrite() . Some printer drivers (Windows PS4) may not allow additions to the PostScript stream at this point.

 
clientData — 

IN/OUT A pointer to a block of user-supplied data that was passed in by the calling application when this notification was registered for using AVAppRegisterNotification() .

See Also

PDDocPrintPages (Only available with PDF Library SDK)
PDFLPrintDoc (Only available with PDF Library SDK)

Notifications


File: PIPokes.h
Line: 1530
PSPrintAfterBeginProlog() 
Product availability: All
Platform availability: All

Syntax

void PSPrintAfterBeginProlog(PDDoc doc, ASStm stm, void* clientData)

This notification is broadcast after the beginning of the PostScript Prolog (immediately after writing %% BeginPrologue) during the printing of a document to a PostScript printer with the methods PDFLPrintDoc() (only available with PDF Library SDK) or PDDocPrintPages() (only available with PDF Library SDK). The Prolog is a set of application-specific procedure definitions that an application may emit in a PostScript stream.

At this point nothing should be added to the PostScript print stream that modifies the graphics state or puts marks on the page. Callers should only emit procset resources.

Parameters

doc — 

IN/OUT The document that is being printed.

 
stm — 

IN/OUT The PostScript print stream. PostScript commands can be added to the print stream using ASStmWrite() .

 
clientData — 

IN/OUT A pointer to a block of user-supplied data that was passed in by the calling application when this notification was registered for using AVAppRegisterNotification() .

See Also

PDDocPrintPages (Only available with PDF Library SDK)
PDFLPrintDoc (Only available with PDF Library SDK)

Notifications


File: PIPokes.h
Line: 1457
PSPrintAfterBeginSetup() 
Product availability: All
Platform availability: All

Syntax

void PSPrintAfterBeginSetup(PDDoc doc, ASStm stm, void* clientData)

This notification is broadcast after the beginning of the Document Setup (immediately after writing %% BeginSetup) during the printing of a page to a PostScript printer with the methods PDFLPrintDoc() (only available with PDF Library SDK) or PDDocPrintPages() (only available with PDF Library SDK). During Document Setup, fonts may be downloaded, setpagedevice may be called, procsets may be initialized, the graphics state may be initialized, and so forth.

Parameters

doc — 

IN/OUT The document that is being printed.

 
stm — 

IN/OUT The PostScript print stream. PostScript commands can be added to the print stream using ASStmWrite() .

 
clientData — 

IN/OUT A pointer to a block of user-supplied data that was passed in by the calling application when this notification was registered for using AVAppRegisterNotification() .

See Also

PDDocPrintPages (Only available with PDF Library SDK)
PDFLPrintDoc (Only available with PDF Library SDK)

Notifications


File: PIPokes.h
Line: 1480
PSPrintAfterEmitExtGState() 
Product availability: All
Platform availability: All

Syntax

void PSPrintAfterEmitExtGState(ASStm stm, void* clientData)

This notification is broadcast after extended graphics state parameters are emitted while printing to a PostScript printer with the methods PDFLPrintDoc() (only available with the PDF Library SDK) or PDDocPrintPages() (only available with the PDF Library SDK).

These parameters are typically device-dependent. For information on extended graphics state, see Section 4.3.4 on extended graphics states in the PDF Reference.

Parameters

stm — 

IN/OUT The PostScript print stream. PostScript commands can be added to the print stream using ASStmWrite() .

 
clientData — 

IN/OUT A pointer to a block of user-supplied data that was passed in by the calling application when this notification was registered for using AVAppRegisterNotification() .

See Also

PDDocPrintPages (Only available with the PDF Library SDK)
PDFLPrintDoc (Only available with the PDF Library SDK)

File: PIPokes.h
Line: 1620
PSPrintAfterPageTrailer() 
Product availability: All
Platform availability: All

Syntax

void PSPrintAfterPageTrailer(PDDoc doc, ASInt32 page, ASStm stm, void* clientData)

This notification is broadcast after the page trailer is emitted (immediately after writing %% PageTrailer) during the printing of a page to a PostScript printer with the methods PDFLPrintDoc() (only available with PDF Library SDK) or PDDocPrintPages() (only available with PDF Library SDK). At this point it is possible to resolve comments (at end) and emit cleanup code.

Parameters

doc — 

IN/OUT The document from which a page is printed.

 
page — 

IN/OUT The page number of the page being printed.

 
stm — 

IN/OUT The PostScript print stream. PostScript commands can be added to the print stream using ASStmWrite() .

 
clientData — 

IN/OUT A pointer to a block of user-supplied data that was passed in by the calling application when this notification was registered for using AVAppRegisterNotification() .

See Also

PDDocPrintPages (Only available with PDF Library SDK)
PDFLPrintDoc (Only available with PDF Library SDK)

Notifications


File: PIPokes.h
Line: 1553
PSPrintAfterTrailer() 
Product availability: All
Platform availability: All

Syntax

void PSPrintAfterTrailer(PDDoc doc, ASStm stm, void* clientData)

This notification is broadcast after the DSC trailer is emitted (immediately after writing %% Trailer) during the printing of a page to a PostScript printer with the methods PDFLPrintDoc() (only available with PDF Library SDK) or PDDocPrintPages() (only available with PDF Library SDK). At this point it is possible to resolve comments (at end) and emit cleanup code.

Parameters

doc — 

IN/OUT The document that is being printed.

 
stm — 

IN/OUT The PostScript print stream. PostScript commands can be added to the print stream using ASStmWrite() .

 
clientData — 

IN/OUT A pointer to a block of user-supplied data that was passed in by the calling application when this notification was registered for using AVAppRegisterNotification() .

See Also

PDDocPrintPages (Only available with PDF Library SDK)
PDFLPrintDoc (Only available with PDF Library SDK)

Notifications


File: PIPokes.h
Line: 1575
PSPrintBeforeAcrobatProcsets() 
Product availability: All
Platform availability: All

Syntax

void PSPrintBeforeAcrobatProcsets(PDDoc doc, ASStm stm, void* clientData)

Clients that register for this notification will be called back during PostScript printing, just prior to emission of the Acrobat procsets.

Parameters

doc — 

IN/OUT The document that is being printed.

 
stm — 

IN/OUT The PostScript print stream. PostScript commands can be added to the print stream using ASStmWrite() .

 
clientData — 

IN/OUT A pointer to a block of user-supplied data that was passed in by the calling application when this notification was registered for using AVAppRegisterNotification() .

See Also

PDDocPrintPages() (Only available with PDF Library SDK)
PDFLPrintDoc() (only available with PDF Library SDK)

Notifications


File: PIPokes.h
Line: 2052
PSPrintBeforeEndComments() 
Product availability: All
Platform availability: All

Syntax

void PSPrintBeforeEndComments(PDDoc doc, ASStm stm, void* clientData)

This notification is broadcast after the DSC page-level comments that apply to all pages have been emitted (immediately before writing %% EndComments) during the printing of a page to a PostScript printer with the methods PDFLPrintDoc() (only available with the PDF Library SDK) or PDDocPrintPages() (only available with the PDF Library SDK).

Parameters

doc — 

IN/OUT The document that is being printed.

 
stm — 

IN/OUT The PostScript print stream. PostScript commands can be added to the print stream using ASStmWrite() .

 
clientData — 

IN/OUT A pointer to a block of user-supplied data that was passed in by the calling application when this notification was registered for using AVAppRegisterNotification() .

See Also

PDDocPrintPages (Only available with PDF Library SDK)
PDFLPrintDoc (Only available with PDF Library SDK)

Notifications


File: PIPokes.h
Line: 1597
PSPrintBeforeEndSetup() 
Product availability: All
Platform availability: All

Syntax

void PSPrintBeforeEndSetup(PDDoc doc, ASStm stm, void* clientData)

This notification is broadcast before the end of Document Setup (immediately before writing %% EndSetup) during the printing of a page to a PostScript printer with the methods PDFLPrintDoc() (only available with PDF Library SDK) or PDDocPrintPages() (only available with PDF Library SDK). At this point all of the job level resources and procsets have been added to the print stream.

Parameters

doc — 

IN/OUT The document that is being printed.

 
stm — 

IN/OUT The PostScript print stream. PostScript commands can be added to the print stream using ASStmWrite() . Some printer drivers (Windows PS4) may not allow additions to the PostScript stream at this point.

 
clientData — 

IN/OUT A pointer to a block of user-supplied data that was passed in by the calling application when this notification was registered for using AVAppRegisterNotification() .

See Also

PDDocPrintPages (Only available with PDF Library SDK)
PDFLPrintDoc (Only available with PDF Library SDK)

Notifications


File: PIPokes.h
Line: 1504