Page Class Documentation
classPage : SystemIDisposableNamespace:Datalogics::PDFL
- Inherits from:
SystemIDisposable
Detailed Description
Represents a page within a PDF file.
The page is the basic object used for organizing content in a PDF document.
Referenced by
Constructor & Destructor Documentation
Page
Page(Pagerhs, InternalConstructsignifier)Parameters
rhs: Pagesignifier: InternalConstruct
Page
Parameters
doc: DocumentThe document in which the page is created.
afterPageNum: intThe page number after which the new page is inserted. The first page is 0. Use PDBeforeFirstPage() (see PDExpT.h) to insert the new page at the beginning of a document.
mediaBox: RectA rectangle specifying the page's media box, specified in user space coordinates.
Creates and acquires a new page. The page is inserted into the document at the specified location. Call PDPageRelease() when you are done using the page.
Page
Page(Documentdoc, intpageNum)Parameters
doc: DocumentThe document containing the page to acquire.
pageNum: intThe page number of the page to acquire. The first page is 0.
Gets a Page from a document.
~Page
~Page()Property Documentation
ArtBox
RectArtBox[get, set]BBox
RectBBox[get]BleedBox
RectBleedBox[get, set]Content
ContentContent[get]CropBox
RectCropBox[get, set]MediaBox
RectMediaBox[get, set]NumAnnotations
intNumAnnotations[get]PDFDict
PDFDictPDFDict[get]PageNumber
intPageNumber[get]RenderWarnings
intRenderWarnings[get]Rotation
PageRotationRotation[get, set]TrimBox
RectTrimBox[get, set]UserUnit
floatUserUnit[get, set]Member Function Documentation
AddAnnotation
voidAddAnnotation(intaddAfter, Annotationannot)Parameters
addAfter: intThe index into the page's annotation array where the annotation is added. The first annotation in the array has an index of zero. Passing a value of -2 adds the annotation to the end of the array. Passing other negative values produces undefined results.
annot: AnnotationThe annotation to add.
Returns:
void(Deprecated, function may be removed in the future. Instead, use the constructor for Annotation or a subclass of Annotation.)
Adds an annotation at the specified location in a page's annotation array.
AddNewAnnotation
AnnotationAddNewAnnotation(intaddAfter, stringsubType, RectinitialRect)Parameters
addAfter: intWhere to add the annotation in the page's annotation array. Passing a value of -2 adds the annotation to the end of the array (this is generally what you should do unless you have a need to place the annotation at a special location in the array). Passing a value of -1 adds the annotation to the beginning of the array. Passing other negative values produces undefined results.
subType: stringThe subtype of the annotation to add.
initialRect: RectA pointer to a rectangle specifying the annotation's bounds, specified in user space coordinates.
Returns:
The newly created annotation.(Deprecated, function may be removed in the future. Instead, use the constructor for Annotation or a subclass of Annotation.)
Adds an annotation to the page. This method is equivalent to calling PDPageCreateAnnot() followed by PDPageAddAnnot().
AddQRBarcode
boolAddQRBarcode(QREncodeParamsparams_)Parameters
params_: QREncodeParams
Returns:
if True, the Barcode was successfully added to the Page.Add a QR Two-Dimensional Barcode encoded with the specified Params to the specified PDF page as an image.
AddQRBarcode
voidAddQRBarcode(stringtextToEncode, doublex, doubley, doublewidth, doubleheight)Parameters
textToEncode: stringThe Text to be encoded in the barcode
x: doubleThe horizontal location on the page in points
y: doubleThe vertical location on the page in points
width: doubleThe width of the barcode image in points
height: doubleThe height of the barcode image in points
Returns:
voidAdd a QR Two-Dimensional Barcode encoded with the specified Text to the page as an image.
CalculateBufferDimension
voidCalculateBufferDimension(ref introwPixels, ref intnumRows, RectexportRect, PageImageParamsImageParams)Parameters
rowPixels: ref intnumRows: ref intexportRect: RectImageParams: PageImageParams
Returns:
voidCalculateBufferDimension
voidCalculateBufferDimension(ref introwPixels, ref intnumRows, RectexportRect, PageImageParamsImageParams, boolisDrawSKBitmap)Parameters
rowPixels: ref intnumRows: ref intexportRect: RectImageParams: PageImageParamsisDrawSKBitmap: bool
Returns:
voidColorConvertContent
boolColorConvertContent(ColorConvertParamsparams_)Parameters
params_: ColorConvertParams
Returns:
True if color conversion occurred. False if nothing was color converted.Convert the colors (in place) in a page as specified by the params block by applying an ICC profile to the objects contained in the page.
ConstructorRetrieve
static PageConstructorRetrieve(System.IntPtrignored)Parameters
ignored: System.IntPtr
Returns:
PageCreateAnnotation
AnnotationCreateAnnotation(stringsubType, RectinitialRect)Parameters
subType: stringThe subtype of the annotation to add.
initialRect: RectA pointer to a rectangle specifying the annotation's bounds, specified in user space coordinates.
Returns:
The newly created annotation.(Deprecated, function may be removed in the future. Instead, use the constructor for Annotation or a subclass of Annotation.)
Creates a new annotation, associated with the specified page's Document, but not added to the page. Use AddAnnotation to add the annotation to the page.
Dispose
voidDispose()Returns:
voidDisposeChildren
voidDisposeChildren()Returns:
voidDrawContents
System.Byte[]DrawContents(DrawParamsdrawParams)Parameters
drawParams: DrawParamsParameters for the drawing operation
Returns:
an array of bytes containing the image.Draw the contents of the page into a bitmap, and return the raw bitmap data as an array of bytes arranged in left to right, top to bottom order. Each row of the bitmap is aligned onto a four-byte boundary.
The amount of data returned depends on the destRect parameter. Using integer arithmetic:
stride = (width * components + 3) & ~3
array_size = stride * height
DrawContents
System.Collections.Generic.List< System.Drawing.Bitmap >DrawContents(DrawParamsdrawParams, System.Collections.Generic.IList< SeparationColorSpace >separations)Parameters
drawParams: DrawParamsParameters for the drawing operation.
separations: System.Collections.Generic.IList< SeparationColorSpace >List of colorants, where each SeparationColorSpace was constructed from an ink and a page. Their tint transforms and alternates will be ignored
Returns:
List, that contains a bitmap of each inkDraw the contents of this page to a list of grayscale bitmaps
DrawContents
voidDrawContents(System.Drawing.Bitmapbitmap, DrawParamsparms)Parameters
bitmap: System.Drawing.Bitmapthe image into which to rasterize the page.
parms: DrawParamsParameters for the drawing operation.
Returns:
voidDraw the contents of this page to an image.
DrawContents
Parameters
bitmap: System.Drawing.Bitmapthe image into which to rasterize the page.
matrix: MatrixA matrix to concatenate onto the default page matrix. It is useful for converting from page to window coordinates and for scaling.
updateRect: Rectthe rectangle to draw, specified in user coordinates. Any objects outside the updateRect will not be drawn.
Returns:
voidDraw the contents of this page to an image. NOTE: This overload is deprecated, you should use the overload DrawContents(Bitmap, DrawParams).
DrawContents
voidDrawContents(System.Drawing.IDeviceContextdc, DrawParamsparms)Parameters
dc: System.Drawing.IDeviceContextA device context onto which to draw the page.
parms: DrawParamsParameters for the drawing operation.
Returns:
voidDraw the contents of this page to a device context.
DrawContents
Parameters
dc: System.Drawing.IDeviceContextA device context onto which to draw the page.
matrix: MatrixA matrix to concatenate onto the default page matrix. It is useful for converting from page to window coordinates and for scaling.
updateRect: Rectthe rectangle to draw, specified in user coordinates. Any objects outside the updateRect will not be drawn.
Returns:
voidDraw the contents of this page to a device context.
DrawContentsInternal
voidDrawContentsInternal(byte[]buffer, intwidth, intheight, intstride, intpixelFormat, DrawParamsdrawParams)Parameters
buffer: byte[]width: intheight: intstride: intpixelFormat: intdrawParams: DrawParams
Returns:
voidDrawContentsInternal
Parameters
Returns:
voidDrawContentsInternal
voidDrawContentsInternal(System.IntPtrdc, DrawParamsparams_)Parameters
dc: System.IntPtrparams_: DrawParams
Returns:
voidDrawContentsInternal
Parameters
Returns:
voidDrawContentsSeparated
voidDrawContentsSeparated(DrawParamsdrawParams, System.Collections.Generic.IList< SeparationColorSpace >separationColorants, boolneedStride, System.Collections.Generic.List< System.IntPtr >bitmaps)Parameters
drawParams: DrawParamsParameters for the drawing operation
separationColorants: System.Collections.Generic.IList< SeparationColorSpace >List of inks to be drawn
needStride: boolFlag which show should we expand data banks by adding padding to have line width 4 bytes aligned. Always true for C# and always false for Java.
bitmaps: System.Collections.Generic.List< System.IntPtr >buffer represented as array of IntPtr for .Net implementation and jbyte* for JNI implementation
Returns:
voidDraw into a raw buffer as a series of Separation plates; intended for a JNI and PINVOKE implementation This function ignored colorSpace parameter from drawParams it render the page with DeviceN colorspace and get all information about colorants directly from the page.
DrawContentsToCSharpBitmap
voidDrawContentsToCSharpBitmap(byte[]buffer, intwidth, intheight, intstride, RectexportRect, PageImageParamsImageParams)Parameters
buffer: byte[]width: intheight: intstride: intexportRect: RectImageParams: PageImageParams
Returns:
voidDrawContentsToCSharpBitmap
voidDrawContentsToCSharpBitmap(byte[]buffer, intwidth, intheight, intstride, RectexportRect, PageImageParamsImageParams, RenderProgressProcprogressProc)Parameters
buffer: byte[]width: intheight: intstride: intexportRect: RectImageParams: PageImageParamsprogressProc: RenderProgressProc
Returns:
voidDrawContentsToCSharpSKBitmap
voidDrawContentsToCSharpSKBitmap(byte[]buffer, intbufferSize, RectexportRect, PageImageParamsImageParams, boolisBGR)Parameters
buffer: byte[]bufferSize: intexportRect: RectImageParams: PageImageParamsisBGR: bool
Returns:
voidDrawContentsToCSharpSKBitmap
voidDrawContentsToCSharpSKBitmap(byte[]buffer, intbufferSize, RectexportRect, PageImageParamsImageParams, RenderProgressProcprogressProc, boolisBGR)Parameters
buffer: byte[]bufferSize: intexportRect: RectImageParams: PageImageParamsprogressProc: RenderProgressProcisBGR: bool
Returns:
voidDrawContentsToSKBitmapInternal
voidDrawContentsToSKBitmapInternal(byte[]buffer, intbufferSize, intwidth, intheight, DrawParamsdrawParams, boolisBGR)Parameters
buffer: byte[]bufferSize: intwidth: intheight: intdrawParams: DrawParamsisBGR: bool
Returns:
voidFlattenOptionalContent
boolFlattenOptionalContent()Returns:
true if the page was successfully flattened, false otherwise.Flattens optional content on the page.
This page will be replaced with a version that has no optional content. The new version of the page will contain only what was visible on the page when the call was made.
The document's default optional content context will be used to determine visibility of optional content.
The optional content information formerly associated with content on the page will NOT be deleted from the document, as it is possible for optional content groups to contain items on multiple pages.
FlattenOptionalContent
boolFlattenOptionalContent(OptionalContentContextocc)Parameters
occ: OptionalContentContextThe optional content context in which content is checked for visibility.
Returns:
true if the page was successfully flattened, false otherwise.Flattens optional content on the page.
This page will be replaced with a version that has no optional content. The new version of the page will contain only what was visible on the page when the call was made.
The optional content information formerly associated with content on the page will NOT be deleted from the document, as it is possible for optional content groups to contain items on multiple pages.
GetAnnotation
AnnotationGetAnnotation(intannotIndex)Parameters
annotIndex: intThe index of the annotation to get on a page. The first annotation on a page has an index of zero.
Returns:
The indexed annotation object.Gets the annotIndex annotation on the page.
GetBitmap
System.Drawing.BitmapGetBitmap(RectexportRect, PageImageParamspip)Parameters
exportRect: RectA Rect describing the region of the page to export, specified in user space coordinates. One user unit corresponds to 1/72 inch. To export the entire page, set this parameter to the page's CropBox. User space coordinates correspond to the unrotated page; the rotation specified in Page.Rotation is not taken into account with these coordinates.
pip: PageImageParamsAdditional parameters for the exported image, including the exported image's pixel width, pixel height, and resolution. If these parameters are not specified, the pixel width and height of the returned image are calculated using the exportRect and a resolution of 300.0.
Returns:
System.Drawing.BitmapExport a region of a PDF page to a System.Drawing.Bitmap.
A particular size in pixels can be specified for the exported Bitmap by setting ImageParams.PixelWidth and/or ImageParams.PixelHeight.
If the exportRect is smaller than the PDF page and pip.PixelWidth and pip.PixelHeight are set, then the resulting image will be of the size pip.PixelWidth x pip.PixelHeight and contain the area of the page inside the exportRect, scaled to fit.
It is also possible to use this function by specifying only pip.PixelWidth or only pip.PixelHeight. When only one is specified, the function will calculate the other.
GetImage
Parameters
exportRect: RectA Rect describing the region of the page to export, specified in user space coordinates. One user unit corresponds to 1/72 inch. To export the entire page, set this parameter to the page's CropBox. User space coordinates correspond to the unrotated page; the rotation specified in Page.Rotation is not taken into account with these coordinates.
Returns:
ImageExport a region of a PDF page to an Image object.
If the exportRect is smaller than the PDF page, then the pixel width and pixel height of the resulting image will be calculated from the exportRect and a resolution of 300.0, containing the area of the page inside the exportRect, scaled to fit. If a specific pixel size or resolution is desired, use the version of GetImage that takes a PageImageParams as a parameter.
GetImage
ImageGetImage(RectexportRect, PageImageParamsImageParams)Parameters
exportRect: RectA Rect describing the region of the page to export, specified in user space coordinates. One user unit corresponds to 1/72 inch. To export the entire page, set this parameter to the page's CropBox. User space coordinates correspond to the unrotated page; the rotation specified in Page.Rotation is not taken into account with these coordinates.
ImageParams: PageImageParamsA PageImageParams containing additional parameters for the exported image, including the exported image's pixel width, pixel height, and resolution. If these parameters are not specified, the pixel width and pixel height of the image are calculated using the exportRect and a resolution of 300.0.
Returns:
ImageExport a region of a PDF page to an Image object.
This version of GetImage can be used to specify a particular size in pixels for the exported image by setting ImageParams.PixelWidth and/or ImageParams.PixelHeight.
If the exportRect is smaller than the PDF page and ImageParams.PixelWidth and ImageParams.PixelHeight are set, then the resulting image will be of the size ImageParams.PixelWidth x ImageParams.PixelHeight and contain the area of the page inside the exportRect, scaled to fit.
It is also possible to use this function by specifying only ImageParams.PixelWidth or only ImageParams.PixelHeight. When only one is specified, the function will calculate the other.
GetImage
ImageGetImage(RectexportRect, PageImageParamsImageParams, System.Collections.Generic.IList< SeparationColorSpace >spaces)Parameters
exportRect: RectA Rect describing the region of the page to export, specified in user space coordinates. One user unit corresponds to 1/72 inch. To export the entire page, set this parameter to the page's CropBox. User space coordinates correspond to the unrotated page; the rotation specified in Page.Rotation is not taken into account with these coordinates.
ImageParams: PageImageParamsA PageImageParams containing additional parameters for the exported image, including the exported image's pixel width, pixel height, and resolution. If these parameters are not specified, the pixel width and pixel height of the image are calculated using the exportRect and a resolution of 300.0.
spaces: System.Collections.Generic.IList< SeparationColorSpace >A collection of SeparationColorSpace objects. This parameter is used to specify page's inks to be drawn. Each SeparationColorSpace must be constructed from an ink and a page. Their tint transforms and alternates will be ignored.
Returns:
ImageExport a region of a PDF page to an Image object.
This version of GetImage can be used to specify a particular size in pixels for the exported image by setting ImageParams.PixelWidth and/or ImageParams.PixelHeight.
It renders specified page's inks and ignores colorSpace parameter from ImageParams. This function always renders the page in DeviceN colorspace.
If the exportRect is smaller than the PDF page and ImageParams.PixelWidth and ImageParams.PixelHeight are set, then the resulting image will be of the size ImageParams.PixelWidth x ImageParams.PixelHeight and contain the area of the page inside the exportRect, scaled to fit.
It is also possible to use this function by specifying only ImageParams.PixelWidth or only ImageParams.PixelHeight. When only one is specified, the function will calculate the other.
GetImageSeparations
ImageCollectionGetImageSeparations(RectexportRect, PageImageParamsImageParams, System.Collections.Generic.IList< SeparationColorSpace >spaces, RenderProgressProcprogressProc)Parameters
exportRect: RectImageParams: PageImageParamsprogressProc: RenderProgressProc
Returns:
ImageCollectionGetImageSeparations
ImageCollectionGetImageSeparations(RectexportRect, PageImageParamsImageParams, System.Collections.Generic.IList< SeparationColorSpace >spacesCollection)Parameters
exportRect: RectA Rect describing the region of the page to export, specified in user space coordinates. One user unit corresponds to 1/72 inch. To export the entire page, set this parameter to the page's CropBox. User space coordinates correspond to the unrotated page; the rotation specified in Page.Rotation is not taken into account with these coordinates.
ImageParams: PageImageParamsA PageImageParams containing additional parameters for the exported image, including the exported image's pixel width, pixel height, and resolution. If these parameters are not specified, the pixel width and pixel height of the image are calculated using the exportRect and a resolution of 300.0.
spacesCollection: System.Collections.Generic.IList< SeparationColorSpace >A collection of SeparationColorSpace class additional parameter for specifying colorants for bitmap rendering. Each SeparationColorSpace must be constructed from an ink and a page. Their tint transforms and alternates will be ignored.
Returns:
ImageCollectionExport a region of a PDF page using the specified Separation ColorSpaces to an Image Collection object.
This version of GetImage can be used to specify a particular size in pixels for the exported image by setting ImageParams.PixelWidth and/or ImageParams.PixelHeight.
If the exportRect is smaller than the PDF page and ImageParams.PixelWidth and ImageParams.PixelHeight are set, then the resulting image will be of the size ImageParams.PixelWidth x ImageParams.PixelHeight and contain the area of the page inside the exportRect, scaled to fit.
It is also possible to use this function by specifying only ImageParams.PixelWidth or only ImageParams.PixelHeight. When only one is specified, the function will calculate the other.
GetOutputPreviewImage
ImageGetOutputPreviewImage(RectexportRect, PageImageParamsImageParams, System.Collections.Generic.IList< SeparationColorSpace >spaces)Parameters
exportRect: RectA Rect describing the region of the page to export, specified in user space coordinates. One user unit corresponds to 1/72 inch. To export the entire page, set this parameter to the page's CropBox. User space coordinates correspond to the unrotated page; the rotation specified in Page.Rotation is not taken into account with these coordinates.
ImageParams: PageImageParamsA PageImageParams containing additional parameters for the exported image, including the exported image's pixel width, pixel height, and resolution. If these parameters are not specified, the pixel width and pixel height of the image are calculated using the exportRect and a resolution of 300.0.
spaces: System.Collections.Generic.IList< SeparationColorSpace >A collection of SeparationColorSpace class additional parameter for specifying colorants for bitmap rendering. Each SeparationColorSpace must be constructed from an ink and a page.
Returns:
ImageCreate an Output Preview image used when Soft Proofing a document prior to actual printing.
GetOutputPreviewImage
ImageGetOutputPreviewImage(RectexportRect, PageImageParamsImageParams, System.Collections.Generic.IList< SeparationColorSpace >spaces, boolsimulateOverprint)Parameters
exportRect: RectA Rect describing the region of the page to export, specified in user space coordinates. One user unit corresponds to 1/72 inch. To export the entire page, set this parameter to the page's CropBox. User space coordinates correspond to the unrotated page; the rotation specified in Page.Rotation is not taken into account with these coordinates.
ImageParams: PageImageParamsA PageImageParams containing additional parameters for the exported image, including the exported image's pixel width, pixel height, and resolution. If these parameters are not specified, the pixel width and pixel height of the image are calculated using the exportRect and a resolution of 300.0.
spaces: System.Collections.Generic.IList< SeparationColorSpace >A collection of SeparationColorSpace class additional parameter for specifying colorants for bitmap rendering. Each SeparationColorSpace must be constructed from an ink and a page.
simulateOverprint: boolA flag that controls if Overprint is simulated or not for Spot Colorants. NOTE: A file with Overprinting, Process, and Spot Colorants can yield a different appearance when Simulation is enabled compared to when it's not.
Returns:
ImageCreate an Output Preview image used when Soft Proofing a document prior to actual printing.
HasTransparency
boolHasTransparency(boolincludeAnnotAppearances)Parameters
includeAnnotAppearances: boolIf true, annotation appearances are included in the check; if false, annotation appearances will be ignored.
Returns:
boolChecks whether a page uses any transparency features.
Note: To determine whether a page uses transparency, the resources of the page must be enumerated (though the page contents do not need to be parsed). The page resources may not be optimized for slow (browser-based) connections, so calling Page.HasTransparency() before the page has been downloaded may cause unpleasant read behavior and performance problems.
ListInks
System.Collections.Generic.IList< Ink >ListInks()Returns:
System.Collections.Generic.IList< Ink >Retrieve a list of all inks present on a page.
ListInks
System.Collections.Generic.IList< Ink >ListInks(boolincludeOPI)Parameters
includeOPI: boolIf true, include inks contained in OPI dictionaries.
Returns:
System.Collections.Generic.IList< Ink >Retrieve a list of all inks present on a page.
MakeSeparations
voidMakeSeparations(SeparationParamsparams_)Parameters
params_: SeparationParams
Returns:
voidGenerate print color separations for a page.
RecognizePageContents
Parameters
Returns:
voidRun optical character recognition (OCR) on a page.
RemoveAnnotation
voidRemoveAnnotation(intannotIndex)Parameters
annotIndex: intThe index (into the page's annotation array) of the annotation to remove.
Returns:
voidRemoves an annotation from the specified page. Annotations are stored in arrays, which are automatically compressed when an annotation is removed. For this reason, if you use a loop in which you remove annotations, structure the code so the loop processes from the highest to the lowest index. If you loop the other direction, you will skip over annotations immediately following ones you remove.
UpdateContent
voidUpdateContent()Returns:
voidSets the page's Content back into the Page, using the same compression filters with which the content was previously encoded.
Call this function after making any changes to the Page's content.