DL Logo

PDPage Definitions

kPDPageBlendingProfileValueStr

Header: PDFLExpT.h:1344

Description

Takes ASext as input. If set we use this profile as blending profile. kPDPageDisplayOverPrintPreviewStr must be set for this to get honored.

Syntax

#define kPDPageBlendingProfileValueStr "BlendingProfileDesc"

kPDPageDirectlyImposedStr

Header: PDFLExpT.h:1227

Description

Directly imposed page.

Syntax

#define kPDPageDirectlyImposedStr "DirectlyImposed"

kPDPageDisplayOverPrintPreviewStr

Header: PDFLExpT.h:1209

Description

Display overprint preview.

Syntax

#define kPDPageDisplayOverPrintPreviewStr "DisplayOverPrintPreview"

kPDPageDoLazyEraseStr

Header: PDFLExpT.h:1172

Description

Erase the page while rendering only as needed.

Syntax

#define kPDPageDoLazyEraseStr "DoLazyErase"

kPDPageDoNotDownloadFontsStr

Header: PDFLExpT.h:1349

Syntax

#define kPDPageDoNotDownloadFontsStr "DL_DoNotDownloadFonts"

kPDPageDoNotSubstituteWorkingSpacesStr

Header: PDFLExpT.h:1290

Description

Do not substitute working spaces.

Syntax

#define kPDPageDoNotSubstituteWorkingSpacesStr "DoNotSubstituteWorkingSpaces"

kPDPageDrawSmoothAATextDDRStr

Header: PDFLExpT.h:1467

Syntax

#define kPDPageDrawSmoothAATextDDRStr "SmoothAATextDDR"

kPDPageDrawSmoothAATextPreviewStr

Header: PDFLExpT.h:1468

Syntax

#define kPDPageDrawSmoothAATextPreviewStr "SmoothAATextPreview"

kPDPageDrawSmoothBicubicImageStr

Header: PDFLExpT.h:1484

Description

Draw smooth image using bicubic resampling. This option can have performance overhead.

Syntax

#define kPDPageDrawSmoothBicubicImageStr "SmoothImageUsingBicubicResampling"

kPDPageDrawSmoothImageStr

Header: PDFLExpT.h:1476

Description

Draw smooth image.

Syntax

#define kPDPageDrawSmoothImageStr "SmoothImage"

kPDPageDrawSmoothLineArtStr

Header: PDFLExpT.h:1464

Description

Draw smooth line art.

Syntax

#define kPDPageDrawSmoothLineArtStr "SmoothLineArt"

kPDPageDrawSmoothTextStr

Header: PDFLExpT.h:1450

Description

Draw smooth text.

Syntax

#define kPDPageDrawSmoothTextStr "SmoothText"

kPDPageEmitPageGroupStr

Header: PDFLExpT.h:1245

Description

Emit a page group.

Syntax

#define kPDPageEmitPageGroupStr "EmitPageGroup"

kPDPageForceGDIPortStr

Header: PDFLExpT.h:1346

Syntax

#define kPDPageForceGDIPortStr "DL_ForceGDIPort"

kPDPageIgnoreIsolatedAndKnockoutTransparencyGroupStr

Header: PDFLExpT.h

Description

Ignore Isolated and Knockout transparency at page boundary.

Syntax

#define kPDPageIgnoreIsolatedAndKnockoutTransparencyGroupStr

kPDPageImageAntiAliasStr

Header: PDFLExpT.h:1456

Syntax

#define kPDPageImageAntiAliasStr "ImageAntiAlias"

kPDPageImageResampleBicubicStr

Header: PDFLExpT.h

Syntax

#define kPDPageImageResampleBicubicStr

kPDPageImageResampleLinearStr

Header: PDFLExpT.h

Syntax

#define kPDPageImageResampleLinearStr

kPDPageInvertedGrayscaleStr

Header: PDFLExpT.h:1307

Syntax

#define kPDPageInvertedGrayscaleStr "InvertedGrayscale"

kPDPageIsPSPrintingStr

Header: PDFLExpT.h:1236

Description

PostScript printing.

Syntax

#define kPDPageIsPSPrintingStr "IsPSPrinting"

kPDPageIsPrintPreviewingStr

Header: PDFLExpT.h:1351

Syntax

#define kPDPageIsPrintPreviewingStr "DL_IsPrintPreviewing"

kPDPageIsPrintingStr

Header: PDFLExpT.h:1200

Description

The page is being printed.

Syntax

#define kPDPageIsPrintingStr "IsPrinting"

kPDPageNoDitherStr

Header: PDFLExpT.h:1355

Syntax

#define kPDPageNoDitherStr "NoDither"

kPDPagePassMetadatatoAGMPortStr

Header: PDFLExpT.h:1272

Description

Pass metadata to AGM port.

Syntax

#define kPDPagePassMetadatatoAGMPortStr "PassMetadatatoAGMPort"

kPDPagePassOCtoAGMPortStr

Header: PDFLExpT.h:1281

Description

Pass optional content to AGM port.

Syntax

#define kPDPagePassOCtoAGMPortStr "PassOCtoAGMPort"

kPDPagePassOPItoAGMPortStr

Header: PDFLExpT.h:1263

Description

Pass open prepress interface (OPI) to AGM port.

Syntax

#define kPDPagePassOPItoAGMPortStr "PassOPItoAGMPort"

kPDPageSuppressRasterAlphaStr

Header: PDFLExpT.h:1315

Description

Suppress raster alpha.

Syntax

#define kPDPageSuppressRasterAlphaStr "SuppressRasterAlpha"

kPDPageSwapComponentsStr

Header: PDFLExpT.h:1301

Description

Render colors in Swapped color vs the normal case, which is helpful for specialized scenarios where the output is expected to be in such an order. For DeviceRGB, this means BGR rather than RGB. For DeviceCMYK, this means KYMC rather than CMYK.

Syntax

#define kPDPageSwapComponentsStr "SwapComponents"

kPDPageThreadIPParseStr

Header: PDFLExpT.h:1358

Syntax

#define kPDPageThreadIPParseStr "ThreadParse"

kPDPageUseAnnotFacesStr

Header: PDFLExpT.h:1191

Description

Draw annotation appearances.

Syntax

#define kPDPageUseAnnotFacesStr "UseAnnotFaces"

kPDPageUsePreciseColorConvStr

Header: PDFLExpT.h:1347

Syntax

#define kPDPageUsePreciseColorConvStr "DL_UsePreciseColorConv"

kPDPageUsePrinterMarkAnnotsStr

Header: PDFLExpT.h:1254

Description

User printer's mark annotations.

Syntax

#define kPDPageUsePrinterMarkAnnotsStr "UsePrinterMarkAnnots"

kPDPageUseSignatureAnnotsOnlyStr

Header: PDFLExpT.h:1348

Syntax

#define kPDPageUseSignatureAnnotsOnlyStr "DL_UseSignatureAnnotsOnly"

kPDPageUseStampAnnotsOnlyStr

Header: PDFLExpT.h:1334

Description

If set, only consider Stamp annotations. This overrides kPDPageUseAnnotFaces.

Syntax

#define kPDPageUseStampAnnotsOnlyStr "UseStampAnnotsOnly"

kPDPageUseTrapAnnotsStr

Header: PDFLExpT.h:1218

Description

Use trap network annotations.

Syntax

#define kPDPageUseTrapAnnotsStr "UseTrapAnnots"

kPDPageWorkingSpacesOnlyForChangeStr

Header: PDFLExpT.h:1325

Description

If this is set, only use a working space instead of a device space if the process color model of the target device is different than that of the source.

Syntax

#define kPDPageWorkingSpacesOnlyForChangeStr "WorkingSpacesOnlyForChange"

kPDPageWritingToEMFStr

Header: PDFLExpT.h:1350

Syntax

#define kPDPageWritingToEMFStr "DL_WritingToEMF"

PDPage Enumerations

PDPageEmitOptions

Header: PDFLExpT.h:456

Description

Bit flags indicating which page marks are emitted for color separations.

Value options for PDPageMarkFlags.

Note: One of the enum member "kPDPageEmitSlurMarks" is deprecated and it has no effect on printing.

Enum Constants

kPDPageEmitColorBars=0x0001
kPDPageEmitRegMarks=0x0002
kPDPageEmitCropMarks=0x0004
kPDPageEmitBleedMarks=0x0008
kPDPageEmitPageInfo=0x0010
kPDPageEmitTrimMarks=0x0020
kPDPageEmitSlurMarks=0x0040
Deprecated It has no effect on printing.

PDPageOptions

Header: PDFLExpT.h:1041

Description

Bit flags indicating how a page is rendered.

Value options for PDPageDrawFlags.

Enum Constants

kPDPageDoLazyErase=0x00000001
Erase the page while rendering only as needed.
kPDPageForceGDIPort=0x00000002
if set, this forces the window draw code to attempt to use GDI instructions internally instead of assuming the incoming Platform device context contains enough information to allow APDFL to make a useful determination. Only honored on Windows. Useful when drawing to a window during print preview, when the supplied hDC is for the screen and does not allow APDFL to adequately instantiate drawing bounds.
kPDPageIsPrintPreviewing=kPDPageForceGDIPort
kPDPageIgnoreIsolatedAndKnockoutTransparencyGroup=0x00000010
Ignore Isolated and Knockout transparency at page boundary.
kPDPageUseAnnotFaces=0x00000040
Draw annotation appearances.
kPDPageIsPrinting=0x00000080
Draw as if the page is being printed. * NOTE: Device spaces are treated as being uncalibrated, to modify this see the PDPrefSetPrintUsingWorkingSpaces() method.
kPDPageDisplayOverPrintPreview=0x00000100
Display overprint preview.
kPDPageUsePreciseColorConv=0x00000200
If set, this forces Color Conversions to be as precise as possible (if unset, color conversions may pass through 8 bit intermediate values)
kPDPageUseTrapAnnots=0x00002000
Use trap network annotations.
kPDPageDirectlyImposed=0x00004000
Directly imposed page.
kPDPageIsPSPrinting=0x00008000
PostScript printing.
kPDPageEmitPageGroup=0x00010000
Emit a page group.
kPDPageUsePrinterMarkAnnots=0x00020000
User printer's mark annotations.
kPDPagePassOPItoAGMPort=0x00040000
Pass open prepress interface (OPI) to AGM port.
kPDPagePassMetadatatoAGMPort=0x00080000
Pass metadata to AGM port.
kPDPagePassOCtoAGMPort=0x00100000
Pass optional content to AGM port.
kPDPageUseSignatureAnnotsOnly=0x00200000
If set, only consider Digital Signature annotations. This overrides the UseStampAnnotsOnly parameter below.
kPDPageDoNotDownloadFonts=0x00400000
Do not download fonts during rendering. Use this flag to prevent fonts from being downloaded/named to the output. Currently active when writing GDI output, such as to a metafile or printer on Windows.
kPDPageWritingToEMF=0x00400000
Indicate that the drawing is writing to an Enhanced MetaFile. This currently prevents fonts from being downloaded, but may advise other flags in the future.
kPDPageDoNotSubstituteWorkingSpaces=0x00800000
Do not substitute working spaces.
kPDPageSwapComponents=0x01000000
Render colors in Swapped color vs the normal case, which is helpful for specialized scenarios where the output is expected to be in such an order. For DeviceRGB, this means BGR rather than RGB. For DeviceCMYK, this means KYMC rather than CMYK.
kPDPageSuppressRasterAlpha=0x02000000
Suppress raster alpha.
kPDPageWorkingSpacesOnlyForChange=0x04000000
If this is set, only use a working space instead of a device space if the process color model of the target device is different than that of the source
kPDPageUseStampAnnotsOnly=0x08000000
If set, only consider Stamp annotations. This overrides kPDPageUseAnnotFaces.
kPDPageThreadIPParse=0x20000000
kPDPageNoDither=0x40000000
kPDPageInvertedGrayscale=0x00000800

PDPageOptions

Header: PDFLExpT.h:1397

Description

Bit flags indicating how a page is rendered.

Value options for PDPageDrawSmoothFlags.

Enum Constants

kPDPageDrawSmoothText=0x00000001
Draw smooth text.
kPDPageDrawSmoothLineArt=0x00000002
Draw smooth line art.
kPDPageDrawSmoothImage=0x00000004
Draw smooth image.
kPDPageDrawSmoothBicubicImage=0x00000008
Draw smooth image using bicubic resampling. This option can have performance overhead
kPDPageImageResampleBicubic=0x00000010
Discrete control over image re-sampling. This option can have performance overhead
kPDPageImageResampleLinear=0x00000020
Discrete control over image re-sampling.
kPDPageImageAntiAlias=0x00000040
Discrete control over image anti-aliasing. This option can have performance overhead
kPDPageDrawSmoothAATextDDR=0x00000080
kPDPageDrawSmoothAATextDDR will enable text smoothing (antialiasing) using the DDR sub-pixel antialiasing algorithm. Equivalent to the Smooth Text: for Laptop/LCD Screen option in Acrobat/Reader rendering preferences at higher resolutions. This will override the kPDPageDrawSmoothText switch, which is equivalent to the Smooth Text: for Monitor option in Acrobat/Reader rendering preferences.
kPDPageDrawSmoothAATextPreview=0x00000100
kPDPageDrawSmoothAATextPreview will enable special text rendering and anti-aliasing for better visual results when generating images at lower resolutions intended for on-screen viewing. This prevents text from looking badly kerned or looking to have poor inter-character spacing. We recommend this for use for viewing applications at zoom levels of 150% or less, though you will want to experiment and decide for yourself. Do not use this for non-viewing applications. Do not scale up or down the rendered image that is generated from drawing a page using this flag- it will look very blurry and unfocused.

PDPage Typedefs

PDPageDrawFlags

Header: PDFLExpT.h:1155

Description

Bit flags indicating how a page is rendered.

For value options see PDPageOptions.

Syntax

typedef ASUns32 PDPageDrawFlags;

PDPageDrawSmoothFlags

Header: PDFLExpT.h:1442

Description

Bit flags indicating how a page is rendered.

For value options see PDPageOptions.

Syntax

typedef ASUns32 PDPageDrawSmoothFlags;

PDPageMarkFlags

Header: PDFLExpT.h:472

Description

Bit flags indicating which page marks are emitted for color separations.

For value options see PDPageEmitOptions.

Note: One of the enum member "kPDPageEmitSlurMarks" is deprecated and it has no effect on printing.

Syntax

typedef ASUns32 PDPageMarkFlags;

Used In

PDPageTilingMode

Header: PDFLExpT.h:302

Description

For value options see PDOptions.

Syntax

typedef ASInt16 PDPageTilingMode;

Used In

PDPage Functions

PDPageDrawContentsPlacedToWindow

Header: PDFLProcs.h:231

Description

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.

Syntax

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

Parameters

page
The page to draw into window.
window
The platform window to which to render. On Windows, the window is an HWND.
displayContext
The platform display context to which to render. On Windows, displayContext is an HDC.
isDPS
Currently unused. Always set it to false.
matrix
A pointer to the matrix to concatenate onto the default page matrix. It is useful for converting from page to window coordinates and for scaling.
updateRect
A pointer to the rectangle to draw, defined in user space coordinates. Any objects outside of updateRect will not be drawn. All objects are drawn if updateRect is NULL.
cancelProc
A method called to check whether drawing should be cancelled. If the method returns true, drawing is stopped, nothing is erased, and the window contains whatever was drawn up to the current state.
cancelProcClientData
A pointer to user-supplied data to pass to cancelProc each time it is called. It should be NULL if cancelProc is NULL.

Exceptions

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

PDPageDrawContentsPlacedWithParams

Header: PDFLProcs.h:526

Description

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.

Syntax

void PDPageDrawContentsPlacedWithParams(PDPage page, PDDrawParams params);

Parameters

page
The page to render.
params
Allows clients to specify their own PDOCContext.

Exceptions

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

PDPageDrawContentsToMemory

Header: PDFLProcs.h:502

Description

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

Syntax

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

Parameters

page
The page to render.
flags
A bit field of PDPageDrawFlags. It must be an OR of the following flags:
Flag
Description
If set, it erases the bitmap if the first object drawn does not cover the page's entire crop box.
If set, it draws annotations that have a default face, such as the visible fields in an Acrobat form. Text and link annotations are not drawn.
If set, then form annotations are rendered as if they are being printed. This means that form fields marked as 'Hidden but printable' are rendered, but fields marked as 'Visible but doesn't print' will not be rendered. If it is not set, then form annotations are rendered as if they are being viewed. This means that form fields marked as 'Hidden but printable' are not rendered, but fields marked as 'Visible but doesn't print' will be.
matrix
A pointer to the matrix to be concatenated onto the default page matrix. It must not be NULL.
updateRect
A pointer to the rectangle to draw, defined in user space coordinates. Any objects outside of updateRect will not be drawn. All objects are drawn if updateRect is NULL.
smoothFlags
csAtom
The color space in which the bitmap data is represented. It must be one of DeviceGray, DeviceRGB, or DeviceCMYK.
bpc
The number of bits per color component in the bitmap data. 8 is the only valid value for DeviceCMYK and DeviceRGB color spaces. 1 and 8 are valid for DeviceGray.
destRect
A pointer to the rectangle of the bitmap. It is defined in device space coordinates. It must not be NULL.
buffer
A pointer to the bitmap data. If it is NULL, this function returns the size of the buffer needed for the bitmap.
bufferSize
The size of the buffer.
cancelProc
A method to call to check whether drawing should be cancelled. If the method returns true, drawing is stopped, nothing is erased, and the buffer contains whatever was drawn up to the current state.
cancelProcData
User-supplied data to pass to cancelProc each time it is called.

Returns

The size of the bitmap in bytes.

PDPageDrawContentsToMemoryEx

Header: PDFLProcs.h:936

Description

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.

Syntax

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

Parameters

page
The page to render.
flags
ASCab used for passing PDPageDrawFlagsStr and PDPageDrawSmoothFlagsStr.
matrix
A pointer to double matrix to be concatenated onto the default page matrix. It must not be NULL.
updateRect
A pointer to the double rectangle to draw, defined in user space coordinates.
csAtom
The color space in which the bitmap data is represented.
bpc
The number of bits per color component in the bitmap data.
destRect
A pointer to double rectangle of the bitmap. It is defined in device space coordinates. It must not be NULL.
buffer
A pointer to the bitmap data. If it is NULL, this function returns the size of the buffer needed for the bitmap.
bufferSize
The size of the buffer.
cancelProc
A method to call to check whether drawing should be cancelled.
cancelProcData
User-supplied data to pass to cancelProc each time it is called.

Returns

The size of the bitmap in bytes.

PDPageEmitPSOrient

Header: PDFLProcs.h:193

Syntax

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

PDPageGetSize

Header: PDFLProcs.h:286

Description

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

Syntax

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

Parameters

page
The page whose size is being obtained.
width
(Filled by the method) The width of the page.
height
(Filled by the method) The height of the page.