Layer

PDFL Library Layer

11 components187 items
61 Functions 48 Definitions 34 Typedefs 36 Structures 8 Enums

ASFileSys

2 items

Functions(2)

ASFileSysSetDefaultTempPath

PDFLProcs.h:148

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: ASFileSys

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

pathName: ASPathName

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

Returns
ASBool

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

CosDoc

1 items

Definitions(1)

cosSaveWriteXref

PDFLExpT.h:2511
Value:0x20

Flags for CosDocSave saveFlags parameter. This is specific to the PDF Library.

General

55 items

Functions(23)

ASAtomGetCount

PDFLProcs.h:128

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.

Parameters
: void
Returns
ASInt32

The number of ASAtom objects currently allocated.

ASPurgeMemory

PDFLProcs.h:111

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: ASSize_t

The desired amount of memory to free.

Returns
ASSize_t

The approximate amount of memory freed.

AVExtensionMgrRegisterNotification

void AVExtensionMgrRegisterNotification(NSelector nsel, ASExtension owner, void *proc, void *clientData)
PDFLProcs.h:593

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: NSelector

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: ASExtension

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: void *

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

clientData: void *

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

Returns
void

AVExtensionMgrUnregisterNotification

void AVExtensionMgrUnregisterNotification(NSelector nsel, ASExtension owner, void *proc, void *clientData)
PDFLProcs.h:613

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

Parameters
nsel: NSelector

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: ASExtension

Identifies the owner with which the notification was registered.

proc: void *

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

clientData: void *

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

Returns
void

PDFLGetFlags

PDFLProcs.h:719

Gets the flags set when the PDF Library was initialized. Currently kPDFLInitIgnoreDefaultDirectories , kPDFLInitIgnoreSystemFonts 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 kPDFLInitIgnoreSystemFonts flag is set, the initialization process does not search through default System fonts also. When the kDontLoadPlugIns flag is set, plug-ins are ignored during initialization process.

Parameters
: void
Returns
ASUns32

The initialization flags value.

See Also

PDFLGetVersion

PDFLProcs.h:668

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. Note: Obsolete in PDF Library 6.0. Use HFTGetVersion() instead.

Parameters
: void
Returns
ASUns32

Adobe PDF Library version (kPDFLVersion).

See Also

PDFLInit

ASInt32 PDFLInit(PDFLData data)
PDFInit.h:974

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

Parameters
data: PDFLData

Initialization data for Adobe PDF Library.

Returns
ASInt32

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

PDFLTerm

void PDFLTerm(void)
PDFLProcs.h:678

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.

Parameters
: void
Returns
void
See Also

PDFLibraryRegisterNotification

void PDFLibraryRegisterNotification(NSelector nsel, ASExtension owner, void *proc, void *clientData)
PDFLProcs.h:62

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: NSelector

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: ASExtension

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: void *

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

clientData: void *

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

Returns
void

PDFLibraryRegisterNotificationEx

void PDFLibraryRegisterNotificationEx(NSelector nsel, ASExtension owner, void *proc, void *clientData, ASInt32 priority)
PDFLProcs.h:818

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: NSelector

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: ASExtension

The gExtensionID of the client registering the notification.

proc: void *

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: void *

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

priority: ASInt32

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

Returns
void

PDFLibraryRegisterRNG

PDFLProcs.h:833

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: PDFLClientRNGProc

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

Returns
void

PDFLibraryUnregisterNotification

void PDFLibraryUnregisterNotification(NSelector nsel, ASExtension owner, void *proc, void *clientData)
PDFLProcs.h:87

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

Parameters
nsel: NSelector

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: ASExtension

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: void *

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: void *

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

Returns
void

Typedefs(17)

PDDoExtGStateProc

typedef ASBool(*) PDDoExtGStateProc(ASAtom egsKey, CosObj egsValue, PDPrintClient printClient)(ASAtom egsKey, CosObj egsValue, PDPrintClient printClient)
PDFLExpT.h:1820

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

PDFLClientRNGProc

typedef ASSize_t(*) PDFLClientRNGProc(ASSize_t len, ASUns8P buffer)(ASSize_t len, ASUns8P buffer)
PDFLExpT.h:106

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.

Structures(8)

PDFLDataRec

PDFInit.h:422

PDFLData structure.

Fields
size: ASSize_t

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

flags: ASUns32

Currently kPDFLInitIgnoreDefaultDirectories , kPDFLInitIgnoreSystemFonts 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 kPDFLInitIgnoreSystemFonts flag is set, the initialization process does not search through default System fonts also. When kDontLoadPlugIns flag is set, plug-ins are ignored during initialization process.

inst: HINSTANCE

(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: ASUTF16Val **

List of directories with fonts. @par Example For Windows:

libData.listLen=3L;
libData.dirList=(ASUTF16Val**)malloc(sizeof(ASUTF16Val*)*3);
libData.dirList[0]=(ASUTF16Val*)myFontDir0;
libData.dirList[1]=(ASUTF16Val*)myFontDir1;
libData.dirList[2]=(ASUTF16Val*)myFontDir2;

A list of directories with fonts. @par Example For Windows:
libData.listLen=3L;
libData.dirList=(ASPathName *)malloc(sizeof(ASPathName)*3);
libData.dirList[0]=(ASPathName)"c:\\PSFonts";
libData.dirList[1]=(ASPathName)"c:\\Fonts";
libData.dirList[2]=(ASPathName)"c:\\CMap";

listLen: ASInt32

The number of directories listed in dirList.

allocator: TKAllocatorProcsP

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: TKResourceProcsP

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: TKExtensionProcsP

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

cacheFileList: ASUTF16Val **

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. If same font cache file name is provided for different font directories, font cache file created for the earlier font directory will get overwritten. 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: ASUTF16Val *

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.

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: ASUTF16Val *

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: ASUTF16Val *

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.

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: ASUTF16Val *

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

pluginDirListLen: ASInt32

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: ASUTF16Val **

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: ASInt32

Specifies the number of directories listed in colorProfileDirList.

colorProfileDirList: ASUTF16Val **

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.

initDC: HDC

A valid Device Context or NULL. In most cases it should be set to NULL. It means APDFL will create a compatible DC (PlatformRenderData::InitPlatformGlyphCode) and will delete it later (PlatformRenderData::CleanupPlatformGlyphCode). This parameter should be set to a valid DC if APDFL is used in a printer driver on 64-bit Vista. It is because the spooler on 64-bit Vista should not call CreateDC() if a print job was requested from a 32bit app. (See http://msdn.microsoft.com/en-us/library/aa505681.aspx)

officeMetricsDirectory: ASUTF16Val *

No longer used, deprecated.

dirList: char **

A list of directories with fonts. @par Example For Windows:
libData.listLen=3L;
libData.dirList=(ASPathName *)malloc(sizeof(ASPathName)*3);
libData.dirList[0]=(ASPathName)"c:\\PSFonts";
libData.dirList[1]=(ASPathName)"c:\\Fonts";
libData.dirList[2]=(ASPathName)"c:\\CMap";

resFile: short

(Mac only)

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

Example libData.resFile = OpenResFile("\\pMyResFileGoesHere")

cacheFileList: char **

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. If same font cache file name is provided for different font directories, font cache file created for the earlier font directory will get overwritten. 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: char *

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: char *

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: char *

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: char *

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

pluginDirList: char **

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.

colorProfileDirList: char **

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.

PDFlattenRec

PDFLExpT.h:308

Controls tile flattening. It is primarily of interest to resource limited (embedded) systems developers.

Fields
size: ASSize_t

The size of the structure. Set it to sizeof(PDFlattenRec).

tilingMode: PDFlattenTilingMode

0 = no tiling; 1 = constant tiling; 2 = adaptive tiling

useTextOutlines: ASBool

Output text outlines instead of native text.

allowShadingOutput: ASBool

Allow shading ouput.

allowLevel3ShadingOutput: ASBool

Allow level 3 shading output.

strokeToFill: ASBool

For converting stroke to outline.

clipComplexRegions: ASBool

Clip complex checkbox.

internalDPI: float

Resolution for flattening the interior of an atomic region.

externalDPI: float

Resolution for flattening edges of atomic regions.

pathDPI: float

Flattener path resolution; the default is 800.

tileSizePts: ASUns32

Target tile size in points.

maxFltnrImageSize: ASUns32

Maximum image size when flattening. The default is 0.

adaptiveThreshold: ASUns32

Adaptive flattening threshold.

preserveOverprint: ASBool

Attempt to preserve overprint.

disableCurveToLineOptmization: ASBool

Disable Curve to Line Optimization.

maxPageFlatteningTime: ASInt32

New parameter to set the maximum allowed time for flattening a page before rasterizing the content. Default value 0 : Enables the two minute limit default value < 0 : Disables the time limit > 0 : Sets the time limit (in seconds)

permitType3Fonts: ASBool

If false, such fonts are rasterized, this is the legacy behavior because many PDF processors don't handle Type 3 fonts correctly. If true, such fonts are preserved instead.

ignoreOverprint: ASBool

DLADD 19Oct2023 - Normally every Page is checked if it has Transparency or Overprint features and when found the Page is Flattened. If false, Pages that have Overprinting are considered for Flattening. If true, Pages that have Overprinting aren't considered for Flattening.

PDTileRecEx

PDFLExpT.h:409
Fields
pubRec: PDTileRec

Used for giving information to and from the user.

imageablePaperWidth: ASUns32

(pts)

imageablePaperHeight: ASUns32

(pts)

unprintablePaperWidth: ASUns32

Unprintable left edge (pts).

unprintablePaperHeight: ASUns32

Unprintable bottom edge (pts).

indent: ASUns32

The amount tile indented within the imageable area (pts).

rotateAngle: ASInt32

The clockwise rotation angle in degrees for tile.

labelTemplate: ASText

The optional label string template has 6 parameters it can fill in. If it is NULL, the label template "$DOC$ $DATE$ $TIME$ $PAGE$ ($ROW$, $COL$)" is used.

Example "page $PAGE$, row=$ROW$, column=$COL$"

driverScale: double

The scale selected by the user in the Print Setup or Printer Properties dialog box.

tileScale: double

The scale for tiled pages.

TKAllocatorProcs

PDFInit.h:218

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

Fields
allocProc: ASClientAllocProc

Called when the PDF Library needs to allocate memory.

reallocProc: ASClientReallocProc

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

freeProc: ASClientFreeProc

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

memAvailProc: ASClientMemAvailProc

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

clientData: void *

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

TKExtensionProcs

PDFInit.h:401

Called periodically during plug-in loading with the ASExtension currently being loaded, and a selector indicating what phase of loading is happening. A structure containing function pointers for ASExtension callbacks used by the PDF Library.

Fields
progressProc: ASExtensionProgressProc

Called when the PDF Library needs to allocate memory.

reportErrProc: ASExtensionReportErrorProc

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

clientData: void *

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

TKResourceProcs

PDFInit.h:310

Structure for resource acquisition callbacks used by the PDF Library.

Fields
acquireProc: TKResourceAcquireProc

Called when the PDF Library needs to acquire resources.

releaseProc: TKResourceReleaseProc

Called when the PDF Library needs to release resources.

clientData: void *

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

Definitions(7)

PDDoc

1 items

Functions(1)

PDDocPrintPages

PDFLProcs.h:186

Prints a range of pages from a document, controlled by a structure of data and callbacks. Note: This low-level method should be avoided; use the higher-level PDFLPrintDoc() instead.

Parameters
client: PDPrintClient

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

Returns
void
Exceptions
genErrBadParm
—

@notify PSPrintAfterBeginPageSetup @notify PSPrintAfterBeginProlog @notify PSPrintAfterBeginSetup @notify PSPrintAfterEmitExtGState @notify PSPrintAfterPageTrailer @notify PSPrintAfterTrailer @notify PSPrintBeforeEndComments @notify PSPrintBeforeEndSetup

PDFLPrint

46 items

Functions(3)

PDFLPrintDoc

void PDFLPrintDoc(PDDoc doc, PDFLPrintUserParams userParams)
PDFLProcs.h:743

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. Note: Users of the PDFLPrintDoc() method do not have to create the PDPrintClient() callbacks. That detail is handled by the library.

Parameters
doc: PDDoc

The PDDoc for the document to print.

userParams: PDFLPrintUserParams

Parameters to control printing.

Returns
void
Exceptions
cosErrWriteError
pdErrOpNotPermitted
genErrBadParm
—

@notify PSPrintAfterBeginPageSetup @notify PSPrintAfterBeginProlog @notify PSPrintAfterBeginSetup @notify PSPrintAfterEmitExtGState @notify PSPrintAfterPageTrailer @notify PSPrintAfterTrailer @notify PSPrintBeforeEndComments @notify PSPrintBeforeEndSetup

PDFLPrintDocEx

PDFLProcs.h:774

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. Note: Users of the PDFLPrintDoc() method do not have to create the PDPrintClient() callbacks. That detail is handled by the library. Note: Platform: (WIN_ENV)

Parameters
doc: PDDoc

The PDDoc for the document to print.

userParams: PDFLPrintUserParamsEx

Parameters to control printing.

Returns
void
Exceptions
cosErrWriteError
pdErrOpNotPermitted
genErrBadParm
—

@notify PSPrintAfterBeginPageSetup @notify PSPrintAfterBeginProlog @notify PSPrintAfterBeginSetup @notify PSPrintAfterEmitExtGState @notify PSPrintAfterPageTrailer @notify PSPrintAfterTrailer @notify PSPrintBeforeEndComments @notify PSPrintBeforeEndSetup

Typedefs(10)

PDFLPrintCancelProc

typedef ASBool(*) PDFLPrintCancelProc(PDDoc pdDoc, void *clientData)(PDDoc pdDoc, void *clientData)
PDFLPrint.h:69

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.

PDPrintCanEmitFontProc

typedef ASBool(*) PDPrintCanEmitFontProc(PDFont fontP, PDPrintClient printClient)(PDFont fontP, PDPrintClient printClient)
PDFLExpT.h:1875

(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

PDPrintGetFontEncodingMethodProc

typedef ASInt32(*) PDPrintGetFontEncodingMethodProc(PDFont fontP, PDPrintClient printClient)(PDFont fontP, PDPrintClient printClient)
PDFLExpT.h:1841

(Required for PostScript printing) A callback for PDPrintClient. It asks the client which encoding method should be used for the font. Method Description kPDDoReencode Use for Type 1 fonts and substituted fonts. kPDDoNothing Use for TrueType Windows font or built-in encoding font. kPDDoXlate Use for a TrueType custom font or font with Mac OS encoding.

See Also

Structures(23)

MonoInkList

PDFLExpT.h:1683

Image ink monochrome list.

Fields
name: char *

Name of the colorant.

level: float

Concentration of the colorant.

next: struct _t_monoInkList *

Pointer to next list element.

Used In

OPI13dict

struct OPI13dict
PDFLExpT.h:1619

OPI 1.3 dictionary.

Fields
aldImageAsciiTags: TIFFASCIITagList *

TIFF ASCII tags.

aldImageColor: struct OPI13dict::@164170005106075354303133154044037375003257157232
aldImageColorType: ALDImageColorType

Image color type.

aldImageCropFixed: float

The portion of the image to be used.

aldImageCropRect: ASUns32

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

aldImageDimensions: ASUns32

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

aldImageFileName: PDFileSpec

REQUIRED. Image file name.

aldImageGrayMap: ASUns16 *

Changes to the brightness or contrast of the image.

aldImageGrayMapLength: ASUns16

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

aldImageID: char *

Image identifier.

aldImageOverprint: ASBool

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

aldImagePosition: float

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

aldImageResolution: float

Image resolution ([horiz vert]).

aldImageTint: float

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

aldImageTransparency: ASBool

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

aldImageType: ASUns32

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

aldObjectComments: char *

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

defined: struct OPI13dict::@021265151007226160124004164366313351272373363105
Used In

OPI20dict

struct OPI20dict
PDFLExpT.h:1701

OPI 2.0 dictionary.

Fields
imageCropRect: float

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

imageDimensions: float

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

imageFileName: PDFileSpec

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: ImageInks

The colorants to be applied to the image.

imageOverprint: ASBool

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

includedImageDimensions: ASUns32

Included image dimensions.

includedImageQuality: float

The quality of the included image.

mainImage: char *

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

tiffAsciiTags: TIFFASCIITagList *
defined: struct OPI20dict::@375101161202225025025114144164376116222125162175
Used In

OPIdict

struct OPIdict
PDFLExpT.h:1745

OPI dictionary.

Fields
version: OPIversion

OPI version (1.3 or 2.0).

dict: union OPIdict::@311243253320231056061260114214213233170330263070
Used In

PDFLPrintUserParams

typedef struct _t_PDFLPrintUserParams* PDFLPrintUserParams
PDFLExpT.h:2494

Declare 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

PDFLPrint.h:135

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. @note UNIX supports only PostScript to a file or printer, as controlled by the (mutually exclusive) emitToFile and emitToPrinter parameters. 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. @note UNIX supports only PostScript to a file or printer, as controlled by the mutually exclusive emitToFile and emitToPrinter parameters. 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. @note UNIX supports only PostScript to a file or printer, as controlled by the (mutually exclusive) emitToFile and emitToPrinter parameters.

Fields
size: ASInt32

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

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

printParams: PDPrintParams

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

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

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

emitToFile: ASBool

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

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

printStm: ASStm

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

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

paperWidth: ASUns16

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

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

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

paperHeight: ASUns16

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

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

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

dontEmitListLen: ASInt32

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

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

dontEmitList: char **

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

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

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

emitToPrinter: ASBool

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

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

command: char *

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

cancelProc: PDFLPrintCancelProc

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

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

clientData: void *

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

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

startResult: int

Spooler ID from StartDoc

Spooler ID from StartDoc().

userCallbacks: PDFLPrintUserCallbacks

Optional pointer to structure containing pointers to user callback functions

nCopies: int

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

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

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

PPDFeatures: PPDFeaturesP

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: ASText

(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.

progressProc: PDFLPrintProgressProc
progressClientData: void *
transQuality: int

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

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

inFileName: char *

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: char *

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: char *

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: char *

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: char *

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: DEVMODEA *

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.

Note: If you provide your own DEVMODE, you will certainly want to call DocumentProperties() to populate it and/or display the print dialog box.

startPage: int

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

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

endPage: int

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

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

shrinkToFit: int

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

printAnnots: int

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

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

psLevel: int

PostScript level. It applies to a PostScript printer.

binaryOK: int

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

emitHalftones: int

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

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

reverse: int

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

farEastFontOpt: int

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

doOPP: int

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

The default is 0.

inFileNameW: ASUns16 *

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: ASUns16 *

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: ASUns16 *

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: ASUns16 *

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

portNameW: ASUns16 *

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

pDevModeW: DEVMODEW *

(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.

Note: If you provide your own DEVMODE, call DocumentProperties() to populate it or display the print dialog box.

pDC: HDC

(Optional) Allows you to pass a DeviceContext structure.

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

Note: you should provide your own DeviceContext only if you register to the PDPageDirectDrawToPlatform notification and wish to draw extra content to a page after PDFL has finished printing it.

forceGDIPrint: ASBool

Optional value used for Postscript printing that allows printing with the code path used by the nonps printer instead of the code used by the PS printer

hDC: HDC

Optional device handle used to allow the device handle used in the user's sample with StartDoc and EndDoc to be passed to the library to be used in StartPage and EndPage.

useCustomPaperSize: ASBool

Force the use of the paper size provided in the PDFLPrintUserParamsRec paperWidth and paperHeight parameters instead of searching for best fit size provided by printer. PDPrintParamsRec setPageSize must also be set for this option.

printRecord: void *

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

printSession: PMPrintSession

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

printSettings: PMPrintSettings

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

pageFormat: PMPageFormat

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

PDFLPrintUserParamsRecEx

PDFLPrint.h:758

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. 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. Note: UNIX supports only PostScript to a file or printer, as controlled by the mutually exclusive emitToFile and emitToPrinter parameters.

Fields
size: ASInt32

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

emitToFile: ASBool

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

printParams: PDPrintParams

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

printStm: ASStm

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

paperWidth: ASUns16

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

paperHeight: ASUns16

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

dontEmitListLen: ASInt32

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

dontEmitList: char **

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

emitToPrinter: ASBool

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

inFileName: char *

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: char *

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: char *

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: char *

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: char *

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: DEVMODEA *

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.

Note: If you provide your own DEVMODE, you will certainly want to call DocumentProperties() to populate it and/or display the print dialog box.

startPage: int

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

endPage: int

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

shrinkToFit: int

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

printAnnots: int

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

psLevel: int

PostScript level. It applies to a PostScript printer.

nCopies: int

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

binaryOK: int

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

emitHalftones: int

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

reverse: int

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

farEastFontOpt: int

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: int

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

doOPP: int

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

The default is 0.

cancelProc: PDFLPrintCancelProc

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

clientData: void *

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

startResult: int

Spooler ID from StartDoc().

inFileNameW: ASUns16 *

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: ASUns16 *

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: ASUns16 *

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: ASUns16 *

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

portNameW: ASUns16 *

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

pDevModeW: DEVMODEW *

(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.

Note: If you provide your own DEVMODE, call DocumentProperties() to populate it or display the print dialog box.

pDC: HDC

(Optional) Allows you to pass a DeviceContext structure.

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

Note: you should provide your own DeviceContext only if you register to the PDPageDirectDrawToPlatform notification and wish to draw extra content to a page after PDFL has finished printing it.

userCallbacks: PDFLPrintUserCallbacks

Optional pointer to structure containing pointers to user callback functions

forceGDIPrint: ASBool

Optional value used for Postscript printing that allows printing with the code path used by the nonps printer instead of the code used by the PS printer

hDC: HDC

Optional device handle used to allow the device handle used in the user's sample with StartDoc and EndDoc to be passed to the library to be used in StartPage and EndPage.

PPDFeatures: PPDFeaturesP

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: ASText

(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.

progressProc: PDFLPrintProgressProc
progressClientData: void *
useCustomPaperSize: ASBool

Force the use of the paper size provided in the PDFLPrintUserParamsRec paperWidth and paperHeight parameters instead of searching for best fit size provided by printer. PDPrintParamsRec setPageSize must also be set for this option.

oneJobwithNCopies: ASBool

PDPrintClient

typedef struct _t_PDPrintClient* PDPrintClient
PDFLExpT.h:1556

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

PDFLExpT.h:1895

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.

Fields
size: ASSize_t

The size of the structure.

pdDoc: PDDoc

The document to print.

params: PDPrintParams

A control structure describing how to print the document.

DocBegin: void(*)

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

DocSetup: ASBool(*)

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

EndSetup: void(*)

(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: void(*)

(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: void(*)

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

BeforePageSetup: ASBool(*)

(Optional) A callback for PDPrintClient. It is called before a page is printed to set it up. (And before the %BeginpageSetup DCS)

PageSetup: ASBool(*)

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

PageSetupPostResource: void(*)

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: void(*)

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

EmitPageContents: void(*)

(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: void(*)

(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: void(*)

In order for the Mac platform to emit color comments, the controller needs to be passed to the DocEnd client callback. The client then calls PDPrintFillColorUsageBuf() to fill in the data for the injection point used by the print manager to emit the custom color comments.

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

GetFontEncodingMethod: PDPrintGetFontEncodingMethodProc

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: ASInt32(*)

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

EmitPSFontBegin: void(*)

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

EmitPSFontEnd: void(*)

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

EmitPSFontEncodingBegin: ASBool(*)

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

EmitPSFontEncodingEnd: void(*)

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

EmitPSResourceBegin: void(*)

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

EmitPSResourceEnd: void(*)

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

ShouldCancel: ASBool(*)

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: ASBool(*)

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: ASInt32(*)

(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: ASInt32(*)

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

It defaults to a method that calls FlushString().

CanEmitFont: PDPrintCanEmitFontProc

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: PDPrintEmitFontProc

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: ASBool(*)

(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: ASBool(*)

(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.

@param stm IN/OUT The stream where the procset should be written.

@param fontP IN/OUT The PDFont for the font.
@param printClient IN/OUT The PDPrintClient from which this is
invoked.
@return false if the PDPrintClient fontDownloadContext is not
specified; true otherwise.

EmitGlyphsIncr: ASBool(*)

A callback for PDPrintClient. It emits glyphs incrementally.

GetComponentFontList: void(*)

(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: void(*)

(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: ASBool(*)

(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.

Note: The method may not store the OPIdict pointer or any pointers within it.

DataSourceString: ASUns32(*)

(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.

Note: The method may not store the PDFileSpec pointer or any pointers (strings) within it.

sequentialPageNum: ASInt32

The current page, starting at 1.

clientData: void *

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

fontDownloadContext: void *

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

vmUsed: ASInt32

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

ProgressMonitor: ASBool(*)

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

progMonClientData: void *
GetTimeDate: void(*)

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: PDHostSepsSpec

Pro product only. @product_exclude RDR @product_exclude STD

GetClientPaperSize: void(*)

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

outStm: ASStm

Output stream for creating postscript file.

PDPrintFontRec

PDFLExpT.h:226
Fields
name: const char *

The font name.

encoding: const char *

The font encoding.

cidFontName: const char *

CID font name.

style: ASInt16

Gothic or Mincho.

syntheticStyle: PDFontStyle

Roman, Italic, Bold, or BoldItalic.

used: ASBool

Set to true if glyphs from this component are used.

emitted: ASBool

Set to true if this component is emmitted.

baseLineAdj: ASInt32

Baseline adjustment.

flags: ASUns32

Flags bits.

PDPrintParamsRec

PDFLExpT.h:499

A data structure indicating how a document should be printed. Note: All fields in the PDPrintParams structure apply to PostScript file creation. PDPrintParams are ignored when printing to non-PostScript devices.

Fields
size: ASSize_t

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

ranges: PDPageRange *

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

numRanges: ASInt32

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

shrinkToFit: ASBool

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: ASBool

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: ASBool

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: PDPrintWhat

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

printWhatAnnot: PDPrintWhatAnnot

Annotation flags which modify PDPrintWhat to enable Pro product behavior.

emitPS: ASBool

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

psLevel: ASInt32

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

outputType: PDOutputType

Print PostScript or EPS with or without a preview.

Note: EPS preview generation is not currently available on UNIX.

incBaseFonts: PDInclusion

Embed the base fonts. The default value is kIncludeNever.

incEmbeddedFonts: PDInclusion

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

incType1Fonts: PDInclusion

Embed Type 1 fonts. The default value is kIncludeOncePerDoc.

incType3Fonts: PDInclusion

Embed Type 3 fonts. The default value is kIncludeOnEveryPage.

Note: This parameter must always be set to kIncludeOnEveryPage. PDF files exist with Type 3 fonts that contain different encodings on different pages.

incTrueTypeFonts: PDInclusion

Embed TrueType fonts. The default value is kIncludeOncePerDoc.

incCIDFonts: PDInclusion

Embed CID fonts. The default value is kIncludeOncePerDoc.

incProcsets: PDInclusion

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

Note: This is not honored anymore: its value is always false. Procsets are always emitted at the document level.

incOtherResources: PDInclusion

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

fontPerDocVM: ASInt32

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

Note: This must be set to 0 for the toolkit; it is only used by the viewer.

emitShowpage: ASBool

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

emitTTFontsFirst: ASBool

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

setPageSize: ASBool

(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: ASBool

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

Note: This is not honored anymore: its value is always true.

setupProcsets: ASBool

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

Note: This must be set to true for the toolkit.

emitColorSeps: ASBool

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

Note: This will be honored only when printing to a printer.

binaryOK: ASBool

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: ASBool

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

emitRawData: ASBool

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

TTasT42: ASBool

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: float

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

emitExternalStreamRef: ASBool

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

Note: This must be set to false.

emitHalftones: ASBool

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

emitPSXObjects: ASBool

Emit PostScript XObjects into the PostScript stream [false].

centerCropBox: ASBool

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

emitSeparableImagesOnly: ASBool

If emitting EPS, include only CMYK and gray images.

emitDeviceExtGState: ASBool

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: ASFixedRect

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: ASBool

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

emitPageRotation: ASBool

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: ASBool

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

tCropBox: ASFixedRect *

Temporary crop box to represent the selected region.

emitPageClip: ASBool

Emit page clip.

emitTransfer: ASBool

Emit transfer.

emitBG: ASBool

Emit black generation.

emitUCR: ASBool

Emit undercolor removal.

farEastFontOpt: PDFarEastFont

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

suppressCJKSubstitution: ASBool

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

suppressCSA: ASBool

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

hostBased: ASBool

For separator, do host-based color management.

hostBasedOutputCS: ASAtom

The output color space when hostBased color management is true.

duplex: PDDuplexEnum

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

doTiling: PDPageTilingMode

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

tileInfo: PDTileEx

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

rotate: ASBool

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

hostBasedCM: ASBool

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: char

If hostBasedCM 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: ASAtom

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

saveVM: ASBool

true means try to save VM when printing to PostScript.

doOPP: ASBool

Do the overprint preview operation.

suppressOPPWhenNoSpots: ASInt32

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

optimizeForSpeed: ASBool

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: ASBool

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

Note: This is not honored anymore: its value is always false.

useMaxVM: ASBool

If true, store all possible resources in VM.

lastWidth: ASInt32

Used when setPageSize is true to prevent unneeded setpagedevice calls.

lastHeight: ASInt32

Used when setPageSize is true to prevent unneeded setpagedevice calls.

bitmapResolution: ASUns32

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: ASUns32

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

transparencyQuality: ASUns32

The transparency level. The range is 0-100.

ocContext: PDOCContext

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

applyOCGPrintOverrides: ASBool

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: ASBool

Determines whether to use the maximum available JPEG2000 resolution.

emitInRipSeps: ASBool

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

whichMarks: PDPageMarkFlags

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.

@product_exclude RDR @product_exclude STD

westernMarksStyle: ASBool

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

doProofing: ASBool

When true, print using proofing settings.

proofProfile: char

Description string for the proofing profile.

inkBlack: ASBool

Proofing settings: simulate ink black.

paperWhite: ASBool

Proofing settings: simulate paper white.

useExecForm: ASBool

When true, emit execform calls when emitting Form XObjects.

flattenInfo: PDFlatten

A structure containing parameters that control tile flattening.

negative: ASBool

When true, invert the plate.

mirrorprint: ASEnum8

One of the following constants: kPDPrintFlipNone = 0x01
kPDPrintFlipX = 0x02
kPDPrintFlipY = 0x04
kPDPrintFlipXY = 0x08

Mirroring is done in the PostScript output stream.

numCollatedCopies: ASUns32

Enables collation for the viewer.

emitFlatness: ASBool

Honors the flatness settings over gstate flatness.

trapType: ASInt32

The trap type:

• kPDPrintTrapNone = 0x01.

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

• kPDPrintTrapInRIP = 0x04.

TTasCIDT2: ASBool

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

markStyle: ASInt32

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. @product_exclude RDR @product_exclude STD

lineWidth: float

The line weight to use for printer marks.

macQDPrinter: ASBool

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

customMarksFileName: ASPathName

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

pAGMPI: void *
disableFlattening: ASBool

Disable flattening of the PDF file; transparency data will be ignored. Also note the preprocessor define below.

doNotDownloadFauxFonts: ASBool
grayToK: ASBool

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

suppressSnapToDevice: ASBool
suppressElement: ASUns32
maxFlatSeconds: ASUns32
testTilingMode: ASInt32

Provide a means for all 4 page rotations to be tiling-exercised at once.

PDPrintStr

struct PDPrintStr
PDFLExpT.h:179

A structure for controlling the printing of glyphs.

Fields
str: char *

The string.

len: ASUns32

Byte length.

displacements: ASRealPoint *

Displacements.

numGlyphs: ASUns32

The number of glyphs.

flags: ASUns32

Flags. Reserved for internal use.

TextList

struct TextList
PDFLExpT.h:1601

List structure used in TIFFASCIITagList.

Fields
name: char *

Tag name.

next: struct _t_textList *

Pointer to next list element.

Enums(8)

ALDImageColorType

PDFLExpT.h:1589

OPI 1.3 color type information.

Values
ALDImageColorType_Spot = 0
—

Spot color type.

ALDImageColorType_Process = 1
—

Process color type.

ALDImageColorType_Separation = 2
—

Separation color type.

ALDImageColorType_Intrinsic = 3
—

Intrinsic color type.

Used In

ImageInk

PDFLExpT.h:1671

OPI 2.0 image ink information.

Values
ImageInk_Registration = 0
—

Image colorant registration value.

ImageInk_FullColor = 1
—

Image colorant full color value.

ImageInk_Monochrome = 2
—

Image colorant monochrome value

Used In

OPIversion

PDFLExpT.h:1579

OPI Types for PostScript printing.

Values
OPIv13 = 0
—

OPI version 1.3.

OPIv20 = 1
—

OPI version 2.0.

Used In

PDFLPrintProgressMarker

PDFLPrint.h:74

An enumeration of the various stages that might be involved in printing a PDF. For use with PDFLPrintProgressProc.

Values
kPDFLPrintProg_PopLastProgress = 0
—
kPDFLPrintProg_PushCompilingDocumentResources = 1
—
kPDFLPrintProg_PushCompilingPageResources = 2
—
kPDFLPrintProg_PushStreamingDocumentFont = 3
—
kPDFLPrintProg_PushStreamingDocumentResource = 4
—
kPDFLPrintProg_PushStreamingPageFont = 5
—
kPDFLPrintProg_PushStreamingPageResource = 6
—
kPDFLPrintProg_PushStreamingPageContent = 7
—
kPDFLPrintProg_PushStreamingPageEpilogue = 8
—
kPDFLPrintProg_PushStreamingDocumentEpilogue = 9
—
kPDFLPrintProg_PushStreamingDocumentProcset = 10
—
kPDFLPrintProg_PushStreamingPageSeparation = 11
—
kPDFLPrintProg_PushStreamingPageImage = 12
—
kPDFLPrintProg_PushStreamingPageImageOPI = 13
—
kPDFLPrintProg_PushStreamingPageCSA = 14
—
kPDFLPrintProg_PushStreamingPageCRD = 15
—
kPDFLPrintProg_PushStreamingPageGradient = 16
—
kPDFLPrintProg_PushOnHostTrapBeginPage = 17
—
kPDFLPrintProg_SetOnHostTrapProgressPercent = 18
—
kPDFLPrintProg_StreamingPageImageProgressPercent = 19
—
kPDFLPrintProg_PushBeginStreamingTraps = 20
—
kPDFLPrintProg_SetStreamingTrapPercent = 21
—

PDPrintTrapTypes

PDFLExpT.h:491
Values
kPDPrintTrapNone = 0x01
—
kPDPrintTrapInRIP = 0x04
—
Values
kPDPrintFlipNone = 0x01
—
kPDPrintFlipX = 0x02
—
kPDPrintFlipY = 0x04
—
kPDPrintFlipXY = 0x08
—

Definitions(2)

PDFont

9 items

Functions(6)

PDFontPSEmitGlyphsIncr

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

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

Parameters
stm: ASStm

The stream.

fontP: PDFont

The font.

srcStr: PDPrintStrP

The source string.

dstStr: PDPrintStrP

The destination string.

srcBytesUsedP: ASUns32 *

The source bytes used.

dstBytesUsedP: ASUns32 *

The destination bytes used.

glyphCount: ASUns32 *

The number of glyphs.

fontIndexP: ASUns16 *

The font index.

printClient: PDPrintClient

The control structure.

Returns
ASBool

true if successful, false otherwise.

PDFontStreamPS

PDFLProcs.h:250

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: PDFont

The font to emit.

stm: ASStm

The ASStm into which the font is emitted.

context: PDFontDownloadContext

A context created by PDFontDownloadContextCreate.

Returns
ASBool

true if successful, false otherwise.

PDFontWasFauxed

PDFLProcs.h:312

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: PDFont

The font to test.

Returns
ASBool

true if the font has been substituted, false otherwise.

Typedefs(1)

Structures(2)

PDFontDownloadContext

3 items

Functions(2)

PDFontDownloadContextCreate

PDFLProcs.h:265

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: PDPrintClient

The client record to pass to PDDocPrintPages().

Returns
PDFontDownloadContext

The newly-created context.

Structures(1)

PDPage

48 items

Functions(6)

PDPageDrawContentsPlacedToWindow

void PDPageDrawContentsPlacedToWindow(PDPage page, void *window, void *displayContext, ASBool isDPS, ASFixedMatrix *matrix, ASFixedRect *updateRect, CancelProc cancelProc, void *cancelProcClientData)
PDFLProcs.h:230

Draws the page to the window or display context. The window and display context are implementation-dependent. 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: PDPage

The page to draw into window.

window: void *

The platform window to which to render.
On Windows, the window is an HWND.

displayContext: void *

The platform display context to
which to render. On Windows, displayContext is an HDC.false.

isDPS: ASBool
matrix: ASFixedMatrix *

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: ASFixedRect *

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: 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: void *

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

Note: Platform: ((!MAC_PLATFORM || !AS_ARCH_64BIT)) && ((!MAC_PLATFORM))

Returns
void
Exceptions
pdErrOpNotPermitted
—

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

PDPageDrawContentsPlacedWithParams

void PDPageDrawContentsPlacedWithParams(PDPage page, PDDrawParams params)
PDFLProcs.h:522

Draws the page to the window or display context. The window and display context are implementation-dependent. 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. Note: Platform: ((!MAC_PLATFORM || !AS_ARCH_64BIT)) && ((!MAC_PLATFORM))

Parameters
page: PDPage

The page to render.

params: PDDrawParams

Allows clients to specify their own PDOCContext.

Returns
void
Exceptions
pdErrOpNotPermitted
—

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

PDPageDrawContentsToMemory

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)
PDFLProcs.h:499

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: PDPage

The page to render.

flags: ASUns32

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


FlagDescription
kPDPageDoLazyEraseIf set, it erases the bitmap if the first object drawn does not cover the page's entire crop box.
kPDPageUseAnnotFacesIf 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.
kPDPageIsPrintingIf 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: ASFixedMatrix *

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

updateRect: ASFixedRect *

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: ASUns32

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

• kPDPageDrawSmoothText

• kPDPageDrawSmoothLineArt

• kPDPageDrawSmoothImage

• kPDPageDrawSmoothBicubicImage

• kPDPageImageResampleBicubic

• kPDPageImageResampleLinear

• kPDPageImageAntiAlias

• kPDPageDrawSmoothAATextDDR

• kPDPageDrawSmoothAATextPreview

csAtom: ASAtom

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

bpc: ASInt32

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: ASFixedRect *

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

buffer: char *

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

bufferSize: ASInt32

The size of the buffer.

cancelProc: 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: void *

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

Returns
ASInt32

The size of the bitmap in bytes.

PDPageDrawContentsToMemoryEx

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

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: PDPage

The page to render.

flags: ASCab

ASCab used for passing PDPageDrawFlagsStr and PDPageDrawSmoothFlagsStr.

matrix: ASDoubleMatrix *

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

updateRect: ASDoubleRect *

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

csAtom: ASAtom

The color space in which the bitmap data is represented.

bpc: ASInt32

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

destRect: ASDoubleRect *

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

buffer: char *

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

bufferSize: ASUns32

The size of the buffer.

cancelProc: CancelProc

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

cancelProcData: void *

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

Returns
ASUns32

The size of the bitmap in bytes.

PDPageGetSize

void PDPageGetSize(PDPage page, ASFixed *width, ASFixed *height)
PDFLProcs.h:284

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

Parameters
page: PDPage

The page whose size is being obtained.

width: ASFixed *

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

height: ASFixed *

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

Returns
void

Definitions(38)

PDPref

19 items

Functions(18)

PDPrefSetAntialiasLevel

void PDPrefSetAntialiasLevel(ASUns32 antialiasPixelLevel)
PDFLProcs.h:342

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: ASUns32

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

• kPDPrefAASmoothText

• kPDPrefAASmoothLineArt

• kPDPrefAASmoothImage

Returns
void

PDPrefSetBlackPointCompensation

PDFLProcs.h:372

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: ASBool

true to enable black-point compensation, false otherwise.

Returns
void

None.

PDPrefSetGreekLevel

void PDPrefSetGreekLevel(ASInt16 greekPixelLevel)
PDFLProcs.h:322

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: ASInt16

The greek level, in pixels.

Returns
void

PDPrefSetRefXObj

void PDPrefSetRefXObj(PDRefXObjMode refXObjMode, ASFileSys fileSys, ASPathName pathName)
PDFLProcs.h:872

Sets reference XObject parameters.

Parameters
refXObjMode: PDRefXObjMode

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


Reference XObject modeDescription
kRefXObjNeverDoes nothing. The function returns false.
kRefXObjAlwaysFind a substitution with minimal checking.
kRefXObjPDFX5Restrict substitutions to PDF/X-5 conforming ones.
kRefXObjAlwaysAssuredFail the parser if the target is not found. Do not display the proxy.
kRefXObjPDFX5AssuredFail the parser if the target PDF/X-5 document not found. Do not display the proxy.

fileSys: ASFileSys

Used with pathname to specify where the target files should be found.

pathName: ASPathName
Returns
void

PDPrefSetWorkingGray

void PDPrefSetWorkingGray(void *profile, ASUns32 profileLength)
PDFLProcs.h:651

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: void *

A pointer to a buffer containing the ICC color profile.

profileLength: ASUns32

The length in bytes of the profile.

Returns
void

Typedefs(1)

PDTextSelect

1 items

Structures(1)

PDResTree

typedef struct _t_PDResTree* PDResTree
PDBasicExpT.h:155

A selection of text on a single page that may contain more than one disjoint group of words. A text selection is specified by one or more ranges of text, with each range containing the word numbers of the selected words. Each range specifies a start and end word, where "start" is the first of a series of selected words and "end" is the first word not in the series.

pdflattener

2 items

Typedefs(1)

Structures(1)