DL Logo

General Definitions

MAX_PWCHARS

Header: PDExpT.h:4289

Syntax

#define MAX_PWCHARS 255

_BASIC_EXP_T_

Header: PDBasicExpT.h:23

Syntax

#define _BASIC_EXP_T_ 1

kPDEmitEasternTileMarks

Header: PDExpT.h:6273

Description

Tile marks.

Syntax

#define kPDEmitEasternTileMarks 0x0002

kPDEmitNoMarks

Header: PDExpT.h:6263

Description

Nothing.

Syntax

#define kPDEmitNoMarks 0

kPDEmitSlug

Header: PDExpT.h:6278

Description

Emit information about the document, name, page number, and so on.

Syntax

#define kPDEmitSlug 0x0004

kPDEmitWesternTileMarks

Header: PDExpT.h:6268

Description

Tile marks.

Syntax

#define kPDEmitWesternTileMarks 0x0001

General Enumerations

HSEmitFonts

Header: PDExpT.h:5886

Enum Constants

kHSEmitFontNoFonts
Embed no fonts.
kHSEmitFontEmbeddedFonts
Emit all embedded fonts.
kHSEmitFontAllFonts
Emit all fonts.

InkTypes

Header: PDExpT.h:5921

Description

Ink types.

Enum Constants

kNormal
kTransparent
kOpaqueInk
kOpaqueIgnore

PDCharSets

Header: PDExpT.h:2306

Description

An enumerated data type that identifies the character set of a Type 1, Multiple Master Type 1, or TrueType font.

Value options for PDCharSet.

Enum Constants

PDUnknownCharSet=0
The font does not use Adobe standard encoding.
PDStandardRomanCharSet=1
The font uses Adobe standard encoding. This is determined by the "Uses Adobe Standard Encoding" bit in the font descriptor.
PDAdobeExpertCharSet=2
Currently unused.
PDLastCharSet

PDColorSpaces

Header: PDExpT.h:913

Description

An enumerated data type that specifies the color space in which a color value is specified (for example, RGB or grayscale).

Value options for PDColorSpace.

Enum Constants

PDDeviceGray
Grayscale. It requires one value entry to specify the color.
PDDeviceRGB
Red-Green-Blue color specification. It requires three value entries to specify the color.
PDDeviceCMYK
Cyan-Magenta-Yellow-Black color specification. It requires four value entries to specify the color.

PDEContentAddPageFlags

Header: PDExpT.h:6805

Enum Constants

kAnnotAll=0x0001
Copy all annotations; do not consult annotation type list
kDoNotMergeFonts=0x0004
Do not merge duplicate fonts on merge: may result in larger files when saved, but can show performance benefits when inserting a page that uses a large number of fonts.

PDEndStyles

Header: PDExpT.h:5849

Description

Value options for PDEndStyle.

Enum Constants

kPDEndMiter
kPDEndOverlap

PDFindFlagTypes

Header: PDExpT.h:2171

Description

Passed to PDFindText().

Value options for PDFindFlags.

Enum Constants

PDFindWholeWords=0x0001
Find whole words only.
PDFindCaseSens=0x0002
Perform a case-sensitive search.
PDFindReverse=0x0004
Perform a reverse order search.
PDFindAllOnPage=0x0008
Return a PDTextSelect with all found words on the page.
PDFindIgnoreFH=0x0100
Do not perform a match of full-width/half-width Kana characters.
PDFindIgnoreDiacritics=0x0200
Ignore diacritics.
PDFindReset=0x0800
Reset to the beginning of the document.

PDHorizAlignments

Header: PDExpT.h:6546

Description

Value options for PDHorizAlign.

Enum Constants

kPDHorizLeft=0
kPDHorizCenter
kPDHorizRight

PDInsertFlags

Header: PDExpT.h:2115

Description

Used by PDDocInsertPages().

Enum Constants

PDInsertBookmarks=0x0001
Insert bookmarks as well as pages.
PDInsertAll=0x1000
Insert all Catalog and Info dictionary values as well as pages.
PDInsertThreads=0x0002
Insert articles as well.
PDDoNotInsertOutputIntent=0x0004
Do not merge output Intents
PDInsertDoNotMergeFonts=0x0008
Do not merge duplicate fonts when merging documents. This may result in larger files when saved, but can show performance benefits when inserting a page that uses a large number of fonts.
PDInsertDoNotResolveInvalidStructureParentReferences=0x0010
This is not necessary in most cases but it can show performance benefits for a document with a complicated Structure Tree.
PDInsertDoNotRemovePageInheritance=0x0020
This can slow down the performance when document has a very large page tree
PDInsertNamedDestinations=0x0040

PDJoinStyles

Header: PDExpT.h:5837

Description

Value options for PDJoinStyle.

Enum Constants

kPDJoinMiter
kPDJoinRound
kPDJoinBevel

PDPathPaintOps

Header: PDExpT.h:2521

Description

A path object consists of a sequence of segment operators (moveto, lineto, an so on), as well as a set of operations to be performed with the path. Note that the operations include doing nothing, closing, stroking, filling and using the path as a clip.

Value options for PDPathPaintOp.

Enum Constants

pdPathNoPaint=0
The path is not painted.
pdPathOpClose=1
The path contains a closepath operator.
pdPathStroke=2
The path contains a stroke operator.
pdPathFill=4
The path contains a fill operator.
pdPathEOFill=8
The path contains an eofill operator.
pdPathClip=16
The path contains a clip operator.
pdPathEOClip=32
The path contains an eoclip operator.

PDPathSegmentOps

Header: PDExpT.h:2495

Description

A path object consists of a sequence of segment operators (moveto, lineto, and so on), as well as a set of operations to be performed with the path. Note that the operations include doing nothing, closing, stroking, filling and using the path as a clip.

Value options for PDPathSegmentOp.

Enum Constants

pdSegMoveTo
pdSegLineTo
pdSegCurveTo
pdSegVCurveTo
pdSegYCurveTo
pdSegRect
pdSegClosePath

PDPlacementOptions

Header: PDExpT.h:5859

Description

Value options for PDPlacementTypes.

Enum Constants

kPDPlacementCenter
kPDPlacementChoke
kPDPlacementNeutralDensity
kPDPlacementSpread

PlateSeparationOptions

Header: PDExpT.h:5895

Enum Constants

kEmitPlate
kDontEmitPlate
kConvertToProcess
Represents an ink used on a page.
kConvertToAltSpace
Can be used while doing color convert only. This is a matching flag for kColorConvToAltSpace flag in PDColorConvertActionType kConvertToProcess matches kColorConvConvert in PDColorConvertActionType kEmitPlate & kDontEmitPlate matches kColorConvPreserve in PDColorConvertActionType

marksStyles

Header: PDExpT.h:5932

Enum Constants

kPDDefaultMarkType=0
No flags means InDesign style printer marks.
kPDInDesignJ1MarkType
kPDInDesignJ2MarkType
kPDIllustratorMarkType
kPDIllustratorJ
kPDQuarkXPress

General Typedefs

PDCharOffset

Header: PDExpT.h:106

Syntax

typedef ASUns16 PDCharOffset;

Used In

PDColorSpace

Header: PDExpT.h:924

Description

An enumerated data type that specifies the color space in which a color value is specified (for example, RGB or grayscale).

For value options see PDColorSpaces.

Syntax

typedef ASEnum8 PDColorSpace;

Used By

Used In

PDConstColorValue

Header: PDExpT.h:958

Syntax

typedef const struct _t_PDColorValueRec *PDConstColorValue;

PDContent

Header: PDBasicExpT.h:114

Description

A pointer to a PDContent struct.

Syntax

typedef struct _t_PDContent *PDContent;

PDCount

Header: PDExpT.h:111

Description

A numeric count value for use in PDImageAttrs.

Syntax

typedef ASInt32 PDCount;

Used In

PDEndStyle

Header: PDExpT.h:5857

Description

For value options see PDEndStyles.

Syntax

typedef ASEnum8 PDEndStyle;

PDFind

Header: PDExpT.h:2168

Syntax

typedef struct _t_PDFind *PDFind;

PDFindFlags

Header: PDExpT.h:2195

Description

Passed to PDFindText().

For value options see PDFindFlagTypes.

Syntax

typedef ASEnum8 PDFindFlags;

PDGraphicEnumMonitor

Header: PDExpT.h:2858

Syntax

typedef struct _t_PDGraphicEnumMonitor *PDGraphicEnumMonitor;

Used In

PDHorizAlign

Header: PDExpT.h:6547

Description

For value options see PDHorizAlignments.

Syntax

typedef ASEnum8 PDHorizAlign;

Used In

PDImageScalar

Header: PDExpT.h:92

Description

A signed measurement of an image offset, for use in PDImageAttrs.

Syntax

typedef ASInt32 PDImageScalar;

Used In

PDJoinStyle

Header: PDExpT.h:5848

Description

For value options see PDJoinStyles.

Syntax

typedef ASEnum8 PDJoinStyle;

PDOperation

Header: PDExpT.h:1020

Description

An enumerated data type that specifies the type of changes that occurred for the PDDocPrintingTiledPage() and PDDocDidChangePages() notifications. Not all Did notifications have corresponding Will notifications.

For value options see PDOperations.

Syntax

typedef ASEnum8 PDOperation;

PDPathEnumMonitor

Header: PDExpT.h:3004

Syntax

typedef struct _t_PDPathEnumMonitor *PDPathEnumMonitor;

PDPathPaintOp

Header: PDExpT.h:2537

Description

A path object consists of a sequence of segment operators (moveto, lineto, an so on), as well as a set of operations to be performed with the path. Note that the operations include doing nothing, closing, stroking, filling and using the path as a clip.

For value options see PDPathPaintOps.

Syntax

typedef ASEnum8 PDPathPaintOp;

PDPathSegmentOp

Header: PDExpT.h:2511

Description

A path object consists of a sequence of segment operators (moveto, lineto, and so on), as well as a set of operations to be performed with the path. Note that the operations include doing nothing, closing, stroking, filling and using the path as a clip.

For value options see PDPathSegmentOps.

Syntax

typedef ASEnum8 PDPathSegmentOp;

PDPlacementTypes

Header: PDExpT.h:5860

Description

For value options see PDPlacementOptions.

Syntax

typedef ASEnum8 PDPlacementTypes;

PDResourceEnumMonitor

Header: PDExpT.h:2722

Description

A data structure containing callbacks used when enumerating the resources of a form with PDFormEnumResources() or PDPageEnumResources().

Note: PDPageEnumResources is provided only for backwards compatibility. You should use the PDFEdit API to enumerate page resources.

Syntax

typedef struct _t_PDResourceEnumMonitor *PDResourceEnumMonitor;

PDXObject

Header: PDExpT.h:2483

Description

A superclass used for PDF XObjects. Acrobat currently uses two XObject subclasses: PDImage and PDForm. You can use any PDXObject method on these three objects.

Syntax

typedef struct _t_PDXObject *PDXObject;

Used By

_t_PDGraphic

Header: PDExpT.h:2474

Description

All graphic objects that comprise page, charproc, and PDForm descriptions.

Syntax

typedef struct _t_PDGraphic *PDGraphic, /* as well as the following subtypes of PDGraphic */ *PDText, *PDPath, *PDInlineImage;

Used By

General Callback Signatures

PDFindTranslateStringProc

Header: PDExpT.h:3394

Description

PDFindTranslateStringProc() is passed to PDFindText().

Syntax

ASBool PDFindTranslateStringProc(char *string, ASInt32 stringLength, PDWord pdWord, void *clientData);

PDGetDataProc

Header: PDExpT.h:3099

Description

A callback for PDXObjectGetData(). It is passed the XObject's data. Currently, the XObject's data is read 1 kB at a time and passed to this callback.

Syntax

ASBool PDGetDataProc(char *data, ASUns32 lenData, void *clientData);

Parameters

data
IN/OUT A buffer containing the XObject's data.
lenData
IN/OUT The amount of data in data in bytes.
clientData
IN/OUT User-supplied data that was passed in the call to PDXObjectGetData().

Returns

true to continue reading the XObject's data, false to halt it.

PDGraphicEnumCacheDeviceProc

Header: PDExpT.h:2841

Description

A callback for PDGraphicEnumMonitor. It is called for every d1 ( setcachedevice) operator.

Syntax

ASBool PDGraphicEnumCacheDeviceProc(ASFixed *parms, void *clientData);

Parameters

parms
IN/OUT An array of numbers containing the 6 parameters passed to the d1 operator.
clientData
IN/OUT User-supplied data that was passed in the call to PDPageEnumContents().

Returns

true to continue enumeration, false to halt enumeration.

Used In

PDGraphicEnumCharWidthProc

Header: PDExpT.h:2829

Description

A callback for PDGraphicEnumMonitor. It is called for every d0 ( setcharwidth) operator.

Syntax

ASBool PDGraphicEnumCharWidthProc(ASFixedPoint width, void *clientData);

Parameters

width
IN/OUT Array of numbers containing the two parameters passed to the d0 operator.
clientData
IN/OUT User-supplied data that was passed in the call to PDPageEnumContents().

Returns

true to continue enumeration, false to halt enumeration.

Used In

PDGraphicEnumImageProc

Header: PDExpT.h:2779

Description

A callback for PDGraphicEnumMonitor. It is called for every image operator.

Syntax

ASBool PDGraphicEnumImageProc(PDInlineImage obj, void *clientData);

Parameters

obj
IN/OUT Image data.
clientData
IN/OUT User-supplied data that was passed in the call to PDPageEnumContents().

Returns

true to continue enumeration, false to halt enumeration.

Used In

PDGraphicEnumPathProc

Header: PDExpT.h:2767

Description

A callback for PDGraphicEnumMonitor. It is called for every path operator.

Syntax

ASBool PDGraphicEnumPathProc(PDPath obj, void *clientData);

Parameters

obj
IN/OUT The path data.
clientData
IN/OUT User-supplied data that was passed in the call to PDPageEnumContents().

Returns

true to continue enumeration, false to halt enumeration.

Used In

PDGraphicEnumRestoreProc

Header: PDExpT.h:2818

Description

A callback for PDGraphicEnumMonitor. It is called for every Q (restore) operator.

Syntax

ASBool PDGraphicEnumRestoreProc(void *clientData);

Parameters

clientData
IN/OUT User-supplied data that was passed in the call to PDPageEnumContents().

Returns

true to continue enumeration, false to halt enumeration.

Used In

PDGraphicEnumSaveProc

Header: PDExpT.h:2807

Description

A callback for PDGraphicEnumMonitor. It is called for every Q (save) operator.

Syntax

ASBool PDGraphicEnumSaveProc(void *clientData);

Parameters

clientData
IN/OUT User-supplied data that was passed in the call to PDPageEnumContents().

Returns

true to continue enumeration, false to halt enumeration.

Used In

PDGraphicEnumTextProc

Header: PDExpT.h:2755

Description

A callback for PDGraphicEnumMonitor. It is called for every text operator.

Syntax

ASBool PDGraphicEnumTextProc(PDText obj, void *clientData);

Parameters

obj
IN/OUT The text object.
clientData
IN/OUT User-supplied data that was passed in the call to PDPageEnumContents().

Returns

true to continue enumeration, false to halt enumeration.

Used In

PDGraphicEnumXObjectRefMatrixProc

Header: PDExpT.h:2856

Description

A callback for PDGraphicEnumMonitor. It gets the current matrix for the subsequent XObject. It is called immediately before PDGraphicEnumXObjectRefProc().

Syntax

ASBool PDGraphicEnumXObjectRefMatrixProc(ASFixedMatrix *matrix, void *clientData);

Parameters

matrix
IN/OUT (Filled by the callback) The current transformation matrix for the subsequent XObject whose name is obtained by PDGraphicEnumXObjectRefProc().
clientData
IN/OUT User-supplied data that was passed in the call to PDPageEnumContents().

Returns

true to continue enumeration, false to halt enumeration.

Used In

PDGraphicEnumXObjectRefProc

Header: PDExpT.h:2796

Description

A callback for PDGraphicEnumMonitor. It is called for every XObject (Do) operator.

Syntax

ASBool PDGraphicEnumXObjectRefProc(char *name, ASFixedRect *bbox, void *clientData);

Parameters

name
IN/OUT The XObject's name.
bbox
IN/OUT The XObject's bounding box, describing the bounding box of the XObject in user space. This is only the case for top-level XObjects. If a Form XObject refers to another XObject, the second XObject's bounding box is the 'infinity' bounding box.
clientData
IN/OUT User-supplied data that was passed in the call to PDPageEnumContents().

Returns

true to continue enumeration, false to halt enumeration.

Used In

PDImplicitMetadataProc

Header: PDMetadataExpT.h:41

Description

Calculates implicit metadata. Clients that maintain metadata items that have to be recalculated should register for the PDDocCalculateMetadata() notification with this callback. The callback should obtain the metadata with which it is concerned, change it, and put the changed metadata back in the object from which it was obtained.

Syntax

void PDImplicitMetadataProc(PDDoc pdDoc, void *data);

Parameters

pdDoc
The document containing the metadata.
data
User-supplied data.

PDPathClosePathProc

Header: PDExpT.h:3002

Description

A callback for PDPathEnumMonitor. It is called for every path closing operator.

Syntax

ASBool PDPathClosePathProc(void *clientData);

Parameters

clientData
IN/OUT User-supplied data that was passed in the call to PDPathEnum().

Returns

true to continue enumeration, false to halt enumeration.

Used In

PDPathCurveToProc

Header: PDExpT.h:2951

Description

A callback for PDPathEnumMonitor. It is called for every c operator.

Syntax

ASBool PDPathCurveToProc(ASFixedPoint *p1, ASFixedPoint *p2, ASFixedPoint *p3, void *clientData);

Parameters

p1
The first point needed to specify the curve.
p2
The second point needed to specify the curve.
p3
The third point needed to specify the curve.
clientData
IN/OUT User-supplied data that was passed in the call to PDPathEnum().

Returns

true to continue enumeration, false to halt enumeration.

Used In

PDPathLineToProc

Header: PDExpT.h:2937

Description

A callback for PDPathEnumMonitor. It is called for every l operator.

Syntax

ASBool PDPathLineToProc(ASFixedPoint *p1, void *clientData);

Parameters

p1
IN/OUT The one point needed to specify the line's ending point.
clientData
IN/OUT User-supplied data that was passed in the call to PDPathEnum().

Returns

true to continue enumeration, false to halt enumeration.

Used In

PDPathMoveToProc

Header: PDExpT.h:2924

Description

A callback for PDPathEnumMonitor. It is called for every m operator.

Syntax

ASBool PDPathMoveToProc(ASFixedPoint *p1, void *clientData);

Parameters

p1
IN/OUT The one point needed to specify the location to move to.
clientData
IN/OUT User-supplied data that was passed in the call to PDPathEnum().

Returns

true to continue enumeration, false to halt enumeration.

Used In

PDPathRectProc

Header: PDExpT.h:2991

Description

A callback for PDPathEnumMonitor. It is called for every re operator.

Syntax

ASBool PDPathRectProc(ASFixedPoint *p1, ASFixedPoint *p2, void *clientData);

Parameters

p1
The first of two points needed to specify the rectangle.
p2
The second of two points needed to specify the rectangle.
clientData
IN/OUT User-supplied data that was passed in the call to PDPathEnum().

Returns

true to continue enumeration, false to halt enumeration.

Used In

PDPathVCurveToProc

Header: PDExpT.h:2965

Description

A callback for PDPathEnumMonitor. It is called for every v operator.

Syntax

ASBool PDPathVCurveToProc(ASFixedPoint *p1, ASFixedPoint *p2, void *clientData);

Parameters

p1
The first of two points needed to specify the curve.
p2
The second of two points needed to specify the curve.
clientData
IN/OUT User-supplied data that was passed in the call to PDPathEnum().

Returns

true to continue enumeration, false to halt enumeration.

Used In

PDPathYCurveToProc

Header: PDExpT.h:2978

Description

A callback for PDPathEnumMonitor. It is called for every y operator.

Syntax

ASBool PDPathYCurveToProc(ASFixedPoint *p1, ASFixedPoint *p2, void *clientData);

Parameters

p1
The first of two points needed to specify the curve.
p2
The second of two points needed to specify the curve.
clientData
IN/OUT User-supplied data passed in the call to PDPathEnum().

Returns

true to continue enumeration, false to halt enumeration.

Used In

PDResourceEnumColorSpaceProc

Header: PDExpT.h:2711

Description

A callback for PDResourceEnumMonitor. It is called for color space resources.

Syntax

ASBool PDResourceEnumColorSpaceProc(char *name, CosObj colorSpace, void *clientData);

Parameters

name
IN/OUT The color space name.
colorSpace
IN/OUT The name of the color space as it appears in the Resources dictionary.
clientData
IN/OUT User-supplied data that was passed in the call to PDFormEnumResources().

Returns

true to continue enumeration, false to halt enumeration.

Used In

PDResourceEnumFontProc

Header: PDExpT.h:2671

Description

A callback for PDResourceEnumMonitor. It is a procedure called for font resources.

Syntax

ASBool PDResourceEnumFontProc(PDFont font, char *name, void *clientData);

Parameters

font
IN/OUT The font.
name
IN/OUT The name of the font as it appears in the Resources dictionary.
clientData
IN/OUT User-supplied data that was passed in the call to PDFormEnumResources().

Returns

true to continue enumeration, false to halt enumeration.

Used In

PDResourceEnumProcSetProc

Header: PDExpT.h:2697

Description

A callback for PDResourceEnumMonitor. It is a procedure called for ProcSet resources.

Syntax

ASBool PDResourceEnumProcSetProc(char *name, void *clientData);

Parameters

name
IN/OUT The name of the ProcSet as it appears in the Resources dictionary.
clientData
IN/OUT User-supplied data that was passed in the call to PDFormEnumResources().

Returns

true to continue enumeration, false to halt enumeration.

Used In

PDResourceEnumXObjectProc

Header: PDExpT.h:2684

Description

A callback for PDResourceEnumMonitor. It is a procedure called for XObject resources.

Syntax

ASBool PDResourceEnumXObjectProc(PDXObject xObject, char *name, void *clientData);

Parameters

xObject
IN/OUT The XObject.
name
IN/OUT The name of the XObject as it appears in the Resources dictionary.
clientData
IN/OUT User-supplied data that was passed in the call to PDFormEnumResources().

Returns

true to continue enumeration, false to halt enumeration.

Used In

PDStringEnumProc

Header: PDExpT.h:3056

Description

A callback for PDTextEnum(). It is called once for each string in a text object.

Syntax

ASBool PDStringEnumProc(PDFont font, char *string, ASInt32 stringLen, ASFixed delta, void *clientData);

Parameters

font
IN/OUT The font used for string.
string
IN/OUT The string. It may be converted using PDFontXlateToHost() or PDFontXlateToUCS().
stringLen
IN/OUT The number of bytes in string.
delta

IN/OUT The difference, in thousandths of an EM, from the end of the previous string to the beginning of the current string. An EM is a typographic unit of measurement equal to the size of a font. For example, in a 12-point font, an EM is 12 points. See the description of the TJ operator in the section on Text-Showing Operators in ISO 32000-1:2008, Document Management-Portable Document Format-Part 1: PDF 1.7, section 9.4.3, page 250.

You can find this document on the web store of the International Standards Organization (ISO).

clientData
IN/OUT User-supplied data that was passed in the call to PDTextEnum().

Returns

true to continue enumeration, false to halt enumeration.

PDXObjectFilterEnumProc

Header: PDExpT.h:3071

Description

A callback for PDXObjectEnumFilters(). It is called once for each filter that has been applied to an XObject's data.

Syntax

ASBool PDXObjectFilterEnumProc(char *filter, CosObj decodeParms, void *clientData);

Parameters

filter
IN/OUT The filter's name.
decodeParms
IN/OUT The dictionary Cos object containing the filter's decode parameters.
clientData
IN/OUT User-supplied data that was passed in the call to PDXObjectEnumFilters().

Returns

true to continue enumeration, false to halt enumeration.

General Structures

PDTrapPreset

Header: PDExpT.h:5862

Syntax

struct PDTrapPreset {
ASBool noTrap;
ASBool defaultTrap;
float trapWidth;
float blackWidth;
float imageTrapWidth;
ASUns32 trapJoinStyle;
ASUns32 trapEndStyle;
ASUns32 stepLimit;
ASUns32 blackColorLimit;
float blackDensityLimit;
ASUns32 slidingTrapLimit;
ASUns32 trapColorScaling;
ASUns32 trapPlacement;
ASBool imageToImageTrapping;
ASBool imageToObjectTrapping;
ASBool imageInternalTrapping;
ASBool imagemaskTrapping;
ASAtom trapStyleName;
} PDTrapPresetRec, *PDTrapPreset;

_t_PDColorValueRec

Header: PDExpT.h:949

Description

A data structure representing a color. The number of elements needed in the value field depends on the color space type (specified in the space field). See PDColorSpace for more information. See also AVPrefsType.

Syntax

struct _t_PDColorValueRec {
PDColorSpace space;
ASFixed value [4];
} PDColorValueRec, *PDColorValue;

Used By

Used In

_t_PDDrawParams

Header: PDExpT.h:6384

Description

Parameters used for optional-content drawing control. The parameters are the same as those passed to the original version of the method, with the addition of an optional-content context that determines what contents are visible.

Syntax

struct _t_PDDrawParams {
ASUns32 size;
The size of the data structure.
void *window;
A pointer to a platform-dependent window object ( HWND on Windows WindowPtr). On Windows, to draw into an offscreen DC, pass NULL for window.
void *displayContext;
A platform-dependent display context structure ( HDC on Windows).
ASFixedMatrix matrix;
A pointer to the matrix to concatenate onto the default page matrix. It is useful for converting from page to window coordinates and for scaling.
ASUns32 flags;
See above. The only value you should use is 0.
ASFixedRect updateRect;
A rectangle represented by the coordinates of its four sides.
CancelProc cancelProc;
A procedure called periodically to check for the user's cancelling of the drawing operation. The default cancel procedure can be obtained using AVAppGetCancelProc(). It may be NULL, in which case no cancel procedure is used.
void *cancelProcClientData;
A pointer to user-supplied data to pass to cancelProc each time it is called. It should be NULL if cancelProc is NULL.
PDOCContext clientOCContext;

An optional-content context that determines what contents are visible. NULL uses the document's optional-content context, as returned by PDDocGetOCContext(pddoc), which is equivalent to calling the version of the method without optional content parameters.

This context is copied and the copy is used in drawing. This allows a client to change its copy of the context without raising an exception.

ProgressProc progressProc;
A pointer to a callback function for monitoring progress.
void *progressProcClientData;
} PDDrawParamsRec, *PDDrawParams;

Used By

_t_PDGraphicEnumMonitor

Header: PDExpT.h:2876

Description

An array of callbacks to pass to PDCharProcEnum(), PDFormEnumPaintProc() or PDPageEnumContents(). One of the callbacks is called for every renderable object in the page contents. Pass NULL for a callback to not enumerate that type of object. Each array element must be either NULL or a valid callback. Enumeration of the page contents halts if the callback returns false.

Note: PDPageEnumContents is provided only for backwards compatibility. You should use the PDFEdit API to enumerate page contents.

Syntax

struct _t_PDGraphicEnumMonitor {
ASSize_t size;
The size of the data structure. It must be set to sizeof(PDGraphicEnumMonitorRec).
PDGraphicEnumXObjectRefMatrixProc EnumXObjectRefMatrix;
If non- NULL, EnumXObjectRefMatrix is called immediately before EnumXObjectRef. It returns the current matrix for the subsequent XObject ref.
} PDGraphicEnumMonitorRec;

Used In

_t_PDGraphicEnumParams

Header: PDExpT.h:6460

Description

Enumeration parameters used for optional-content drawing control in PDFormEnumPaintProcWithParams() and PDCharProcEnumWithParams(). The parameters are the same as those passed to the original versions of these methods (PDFormEnumPaintProc() and PDCharProcEnum()), with the addition of an optional-content context that determines what contents are visible.

Syntax

struct _t_PDGraphicEnumParams {
ASUns32 size;
PDOCContext clientOCContext;
An optional-content context that determines what contents are visible. NULL uses the document's optional-content context, as returned by PDDocGetOCContext(pddoc), which is equivalent to calling the version of the method without optional-content parameters. This context is copied and the copy is used in drawing. This allows a client to change its copy of the context without raising an exception.
PDOCContext usedOCContext;
Filled by the method with the context that will be used during enumeration. This is a copy of the context specified by clientOCContext.
The graphic enumeration monitor.
void *monObj;
A pointer to user-supplied data to pass to the monitor.
} PDGraphicEnumParamsRec, *PDGraphicEnumParams;

Used By

_t_PDGraphicState

Header: PDExpT.h:2542

Description

A data structure containing information about the current graphics state.

Syntax

struct _t_PDGraphicState {
Current transformation matrix.
ASFixed fillColor [4];
Fill color.
ASFixed strokeColor [4];
Stroke color.
ASAtom fillCSpace;
Fill color space.
ASAtom strokeCSpace;
Stroke color space.
ASFixed flatness;
Flatness tolerance.
ASInt32 lineCap;
Line cap style.
ASFixed dashPhase;
Dash phase.
ASTArraySize dashLen;
Length of dash array.
ASFixed dashes [10];
Fixed to 10. The viewer has been extended to support dashes of any length.
ASInt32 lineJoin;
Line join style.
ASFixed lineWidth;
Line width.
ASFixed miterLimit;
Miter limit.
} PDGraphicState, *PDGraphicStateP;

_t_PDImageAttrs

Header: PDExpT.h:2626

Description

A data structure containing information about the attributes of an image. See the description of Images in ISO 32000-1:2008, Document Management-Portable Document Format-Part 1: PDF 1.7, section 8.9, page 203.

You can find this document on the web store of the International Standards Organization (ISO).

Syntax

struct _t_PDImageAttrs {
(Required) The width of the source image in samples.
PDImageScalar height;
(Required) The height of the source image in samples.
PDCount bitsPerComponent;
(Required) The number of bits used to represent each color component.
ASBool imageMask;
(Optional) true if the image should be treated as a mask, false otherwise.
ASBool interpolate;
(Optional) true if interpolation is performed, false otherwise. Interpolation attempts to smooth transitions between sample values.
ASBool haveDecode;
true if decode is used, false otherwise.
ASFixed decode [8];
(Optional) An array of numbers specifying the mapping from sample values in the image to values appropriate for the current color space.
ASAtom colorSpaceName;
An ASAtom representing the color space name.
ASBool isIndexed;
true if the color space is indexed, false otherwise.
PDCount hiVal;
(Optional) This is used if isIndexed is true. Colors are specified by integers in the range 0 to hival.
CosObj colorSpace;
(Required for images, not allowed for image masks) A Cos object of the color space used for the image samples.
ASTArraySize dataLen;
The length of the sample data in bytes.
PDCount comps;
The number of components in colorSpace. For instance, comps is 3 for an RGB color space.
} PDImageAttrs, *PDImageAttrsP;

_t_PDPathEnumMonitor

Header: PDExpT.h:3012

Description

A data structure containing callbacks used by PDPathEnum(). One callback is called for each path operator encountered; the callback to call depends on the operator.

Syntax

struct _t_PDPathEnumMonitor {
ASSize_t size;
The size of the data structure. It must be set to sizeof(PDPathEnumMonitorRec).
} PDPathEnumMonitorRec;

Used In

_t_PDResourceEnumMonitor

Header: PDExpT.h:2732

Description

A data structure containing callbacks used when enumerating the resources of a form with PDFormEnumResources() or PDPageEnumResources().

Note: PDPageEnumResources() is provided only for backwards compatibility. You should use the PDFEdit API to enumerate page resources.

Syntax

struct _t_PDResourceEnumMonitor {
ASSize_t size;
The size of the data structure. It must be set to sizeof(PDResourceEnumMonitorRec).
} PDResourceEnumMonitorRec;

Used In

_t_PDTextState

Header: PDExpT.h:2586

Description

A data structure containing information about the current text state.

Syntax

struct _t_PDTextState {
PDFont font;
Text font.
ASFixed charSpacing;
Character spacing.
ASFixed wordSpacing;
Word spacing.
ASFixed horizontalScale;
Horizontal scaling.
ASFixed leading;
Leading.
ASFixed textRise;
Text rise.
ASFixed textSize;
Text font size.
ASInt32 renderMode;
Text rendering mode.
ASFixedMatrix textMatrix;
Text matrix.
} PDTextState, *PDTextStateP;

General Functions

PDApplyFunction

Header: PDProcs.h:7685

Description

Deprecated: use PDApplyFunctionEx instead

Given a CosObj that represents a function, it applies the function to the supplied values.

It raises an error if the CosObj is malformed.

Syntax

void PDApplyFunction(CosObj funcDict, const float inVals [], float outVals []);

Parameters

funcDict
The CosObj representing a function.
inVals
Input values.
outVals
Output values.

Exceptions

is raised if the CosObj is not a function dictionary.

PDApplyFunctionEx

Header: PDProcs.h:12762

Description

Given a CosObj that represents a function, it applies the function to the supplied values.

It raises an error if the CosObj is malformed.

Syntax

void PDApplyFunctionEx(CosObj funcDict, const float inVals [], const ASArraySize nInput, float outVals [], const ASArraySize nOutput);

Parameters

funcDict
The CosObj representing a function.
inVals
Input values.
nInput
Number of input values.
outVals
Output values.
nOutput
Number of output values.

Exceptions

is raised if the CosObj is not a function dictionary or the number of i/o do not match with that of the function.

PDDrawCosObjToWindow

Header: PDProcs.h:5519

Description

Draws the specified stream of PDF marking operators into the specified window. This method is used for platform-independent drawing of graphics and text.

This method changes the Current Transformation Matrix (CTM) and zoom factor for the current page. This leaves the file "dirty," or stale. The version of the file on the disk no longer matches the more current version in system memory.

Syntax

void PDDrawCosObjToWindow(CosObj cosObj, void *window, void *displayContext, ASBool isDPS, ASFixedMatrix *matrix, ASFixedRect *updateRect, CancelProc cancelProc, void *cancelProcClientData);

Parameters

cosObj

The stream Cos object to draw into the window. This stream can be created using CosNewStream(). The stream's dictionary must contain a Resources key whose value is a dictionary specifying all the resources needed to draw the Cos object (including a ProcSet entry). Its structure and contents are the same as for the Resources dictionary for a Page object.

See the description of Resource Dictionaries in ISO 32000-1:2008, Document Management-Portable Document Format-Part 1: PDF 1.7, section 7.8.3, on page 82.

You can find this document on the web store of the International Standards Organization (ISO).

See the description of the Content Stream Operators in Annex A of the ISO 32000-1:2008, Document Management-Portable Document Format-Part 1: PDF 1.7, Annex A.2, on page 643.

You can find this document on the web store of the International Standards Organization (ISO).

A pseudocode example of the stream object is:

< /Length 1000 /Filter

[...filters...] /Resources < <

/ProcSet [ /PDF /Text ]

/Font < /F5 6 0 R /F9 12 0 R>> >>

>>

stream

...stream data...

endstream

window
A pointer to a platform-dependent window object ( HWND on Windows, WindowPtr). On Windows, to draw into an offscreen DC, pass NULL for window.
displayContext
A pointer to a platform-dependent display context structure ( hDC on Windows).
isDPS
Currently unused. Always set it to false.
matrix
A pointer to a matrix to concatenate onto the default page matrix. It is useful for scaling and for converting from page to window coordinates.
updateRect
A pointer to a rectangle, specified in user space coordinates. Any objects outside of updateRect will not be drawn. All objects are drawn if updateRect is NULL.
cancelProc
A procedure called periodically to check for the user's cancelling of the drawing operation. The default cancel proc can be obtained using AVAppGetCancelProc(). It may be NULL, in which case no cancel proc is used.
cancelProcClientData
A pointer to user-supplied data to pass to cancelProc each time it is called. It should be NULL if cancelProc is NULL.

PDDrawCosObjWithParams

Header: PDProcs.h:10577

Description

Provides control over the rendering of contents, including both those parameters you would pass to PDDrawCosObjWithParams(), and an optional-content context that determines which contents are visible.

Related Methods

Syntax

void PDDrawCosObjWithParams(CosObj cosObj, PDDrawParams params);

Parameters

cosObj
The object to draw.
params
The parameters with which to draw the object, including the optional-content context to use for content visibility.

Exceptions

PDFormEnumPaintProcWithParams

Header: PDProcs.h:10597

Description

Enumerates a form's drawing operations for those contents that are visible in a given optional-content context. The parameters include both the monitor and data you would pass to PDFormEnumPaintProc(), and an optional-content context that determines which contents are visible.

Related Methods

Syntax

void PDFormEnumPaintProcWithParams(PDXObject obj, PDGraphicEnumParams params);

Parameters

obj
The form whose drawing operations are enumerated.
params
The parameters, including the optional-content context to use for content visibility.

Exceptions

PDImageSelAdjustMatrix

Header: PDProcs.h:7669

Description

This method is obsolete and is provided only for backwards compatibility.

The method allows an image selector client to change the region of the page occupied by an image. It must only be used by image selector clients that return data for only the visible part of an image, to set the region of the page that the sub-image occupies. It must not be used otherwise.

This method only has an effect while displaying on the screen. It does nothing when printing.

The matrix set by this call remains in effect only for the current image. The Acrobat viewer automatically replaces it after the image has been drawn.

Related Methods

Syntax

void PDImageSelAdjustMatrix(void *callData, ASFixedMatrix newUserMatrix);

Parameters

callData
The value passed to the image selector as a parameter to PDImageSelectAlternate().
newUserMatrix
The matrix that will replace the imageToUserMatri (see PDImageSelGetGeoAttr()). The imageToDevMatrix is automatically calculated from newUserMatrix.

PDImageSelGetDeviceAttr

Header: PDProcs.h:7640

Description

This method is obsolete and provided only for backwards compatibility.

The method gets device-related attributes for a particular image XObject. It must only be used from within an image selector client, since it returns information that is only valid in that context. This method can be used by an image selector client to obtain additional information to help the selector determine which alternate image to choose.

If an image is displayed on two devices simultaneously (for example, if the window containing the image is split across two monitors in a multi-monitor system), the values returned for colorSpaceP and bitsPerPixelP are each the maximum for the devices on which the image is currently displayed. For example, if the image is currently split across the following devices:

  • 8-bit gray scale monitor
  • 4-bit RGB color monitor

colorSpaceP would be DeviceRGB, because that is the highest color space on which the image is currently displayed.

bitsPerPixelP would be 8, because that is the highest bit depth on which the image is currently displayed.

Related Methods

Syntax

void PDImageSelGetDeviceAttr(void *callData, PDColorSpace *colorSpaceP, ASUns32 *bitsPerPixelP, ASAtom *deviceTypeP);

Parameters

callData
(Filled by the method) The value passed to the image selector as a parameter to PDImageSelectAlternate().
colorSpaceP
(Filled by the method) The destination device's color space. It will be one of the following:
Value
Description
Grayscale device
RGB device
CMYK device

If the device has some other color space or its color space cannot be determined, PDDeviceRGB is returned.

bitsPerPixelP
(Filled by the method) The number of bits used for each pixel. For example, a device with 8 bits red, 8 bits green, and 8 bits blue would have a bitsPerPixel of 24. If bitsPerPixelP has a value of 0 (instead of the more standard 1, 8, or 24), the number of bits per pixel on the output device could not be determined.
deviceTypeP
(Filled by the method) The output device type. It will be one of the following:
Value
Description
Display
A display device such as a monitor
PostScript
A PostScript printer or PostScript file
nonPostScriptPrinter
A non-PostScript printer

PDImageSelGetGeoAttr

Header: PDProcs.h:7572

Description

This method is obsolete and provided only for backwards compatibility.

The method requests geometry-related attributes of an image XObject. This method can be used by an image selector client to obtain additional information to help the selector determine which alternate image to choose.

Related Methods

Syntax

void PDImageSelGetGeoAttr(void *callData, ASFixedRect *updateBBoxP, ASFixedMatrix *imageToDefaultMatrixP, ASFixedMatrix *imageToDevMatrixP);

Parameters

callData
(Filled by the method) The value passed to the image selector as a parameter to PDImageSelectAlternate().
updateBBoxP
(Filled by the method) The rectangle bounding the region of the page to update. This is the intersection of the visible portion of the page, any update regions, and any clipping paths that have been explicitly set in the PDF file. Its coordinates are specified in default user space.
imageToDefaultMatrixP
    (Filled by the method) A matrix specifying the transformation from image space (the space in which all images are 1x1 units) to default user space (the space with 72 units per inch). It contains sufficient information for the image selector plug-in to determine the image's size and location on the page. For a normal page and image (an upright image on a non-rotated page), the following is true:
  • imageToDefaultMatrixP->a is equal to the image horizontal size in 1/72 of an inch units.
  • imageToDefaultMatrixP->b = 0
  • imageToDefaultMatrixP->c = 0
  • imageToDefaultMatrixP->d is equal to the image vertical size in 1/72 of an inch units.
  • imageToDefaultMatrixP->h is equal to the left edge of image.
  • imageToDefaultMatrixP->v is equal to the bottom edge of the image.

In other words, this matrix provides the image's height, width, and position on the page, all in units of points (compare to imageToDefaultMatrixP). The intersection of the rectangle obtained by transforming a 1x1 unit rectangle (the image) through imageToDeviceMatrixP and the updateBBoxP rectangle is the region of the image that is actually drawn. This is the region of the image for which data is required.

imageToDevMatrixP
(Filled by the method) A matrix specifying the transformation from image space (the space in which all images are 1x1 unit) to device space (the space in which one unit is one pixel). This matrix provides the image's height, width, and position on the page, all in pixels (compare to imageToDefaultMatrixP).

PDSetHostEncoding

Header: PDProcs.h:10923

Description

For internal use only.

Syntax

void PDSetHostEncoding(ASHostEncoding encoding, char *parseTable);