PageObjectInfo returns one TPdfPageObjectInfo snapshot containing the handle, object type, normal and rotated bounds, effective matrix, active state, transparency, fill and stroke colours, alpha values, stroke width, line join, line cap, dash array, and dash phase
HasRotatedBounds, HasActiveState, and the other Has* fields distinguish an unavailable native value from a valid zero value
RotatedBounds carries the rotated quadrilateral, HasLineJoin and HasLineCap gate the join and cap styles, and DashPhase offsets the start of the dash pattern
Info := Pdf1.PageObjectInfo(0);
Info.StrokeWidth := 4;
SetLength(Info.DashArray, 2);
Info.DashArray[0] := 8;
Info.DashArray[1] := 4;
Pdf1.UpdatePageObject(0, Info, [pocStrokeWidth, pocDashPattern]);
UpdatePageObject applies every selected field to the same native object and regenerates page content once
TransformPageObject composes an affine FS_MATRIX with the selected object
PathInfo returns fill mode, stroke state, segment type, endpoint, and close state for every path segmentPageObjectClipPath returns every clip subpath and segment associated with a page objectTransformPageObjectClipPath(Index, Matrix) transforms only that clip geometry and leaves the page-object matrix unchangedFormObjectChildren returns detailed snapshots for the immediate children of a Form XObjectDetachFormObjectChild(FormIndex, ChildIndex) removes one child and transfers ownership of the returned FPDF_PAGEOBJECT to the caller, which must insert or destroy itTextObjectGlyphOutline exposes glyph path geometry, whilst TextObjectGlyphWidth(Index, GlyphIndex, FontSize) returns the native glyph advance at the requested sizeTextObjectFontSize(Index) reads the native text-object size and SetTextObjectFontSize(Index, FontSize) edits it without approximating through a matrix transformGetImageObjectRenderedBitmap(Index) returns a caller-owned bitmap with the image mask, colour conversion, and image matrix applied by PDFiumAnnotationObjectCount, AnnotationObjectInfo, AddPathToAnnotation, and RemoveAnnotationObject operate on annotation appearance objectsIsAnnotationObjectSubtypeSupported(Subtype) probes whether the loaded PDFium module supports appearance-object extraction, update, and removal for the subtypePerformNamedAction dispatches a known document action and OnNamedAction reports named-action callbacksCharacterInfo returns fill and stroke colours, font name, PDF font flags, loose glyph bounds, effective matrix, and the associated text-object handle
CharacterIndexToTextIndex and TextIndexToCharacterIndex convert between PDFium character indexes and indexes in the generated text stream
TPdfAnnotation exposes border radii and width through HasBorder, BorderHorizontalRadius, BorderVerticalRadius, and BorderWidth
Colour coverage extends to ColorAlpha, InteriorColor, and InteriorColorAlpha, markup metadata is gated by HasAuthor, HasName, HasSubject, HasModificationDate, HasCreationDate, and HasIcon, and ink gestures, quad-point geometry, and link targets are exposed through InkList, HasAttachmentPoints, HasLinkUri, and LinkUri
Normal, rollover, and down appearance streams are available through the HasAppearanceNormal, HasAppearanceRollover, and HasAppearanceDown sentinels and their matching AppearanceNormal, AppearanceRollover, and AppearanceDown strings
When reading an annotation, these sentinels identify nonempty appearance content: the native API returns the same empty string for a missing stream and an empty stream, so both report False and are left untouched when the record is written back; callers can still explicitly set a sentinel to True to write an empty appearance
Assign the updated annotation record back to Annotation[Index] to write selected border or appearance values
ConfigurePdfLibrary, GetPdfLibraryConfiguration, and PdfLibraryConfigurationSealed configure and audit the immutable process-wide native initialisation and sandbox policy before the first loadTPdfLibraryConfiguration carries UserFontPaths, V8Isolate, V8EmbedderSlot, V8Platform, Renderer, FontBackend, BrotliEnabled, IsolatePerDocument and AllowMachineTime, and uses TPdfRendererPreference (prpDefault, prpAgg, prpSkia) and TPdfFontBackendPreference (pfbpDefault, pfbpFreeType, pfbpFontations) to select only the native fields that the requested configuration needsPdfDefaultTtfMapCount and TryGetPdfDefaultTtfMapEntry enumerate native default font substitutions with checked indexed accessTPdfDefaultTtfMapEntry copies the face name, charset, and native platform font metadata from one indexed mapping entryFormFieldZOrderAtPoint and LinkZOrderAtPoint return the frontmost native z-order or -1 when no target existsTryGetAnnotationFileAttachment copies bounded file metadata and payload whilst its native annotation handle is validTPdfAnnotationAttachment owns that copied metadata and payload independently of the page and annotation handlesGetLinkedAnnotationIndex and GetLinkedAnnotationChain resolve Popup and IRT relationships with dangling-reference, cycle, and depth protectionTPdfAnnotationRelationship selects the Popup (parPopup) or IRT (parInReplyTo) relationship and TPdfAnnotationSubtypes stores the focus-policy subtype arrayGetAnnotationDictionaryValue and GetAttachmentDictionaryValue report the exact native value kind before returning a supported scalar valueTPdfDictionaryValueKind preserves the native object category (pdvkUnknown, pdvkBoolean, pdvkNumber, pdvkString, pdvkName, pdvkArray, pdvkDictionary, pdvkStream, pdvkNull, pdvkReference) and TPdfDictionaryValue carries the supported number or string scalar in NumberValue and StringValue with HasScalarValue as the explicit sentinelSetFocusableAnnotationSubtypes and GetFocusableAnnotationSubtypes control keyboard-focus eligibility through the native form handleTPdfStructureElement.Attributes is a TPdfStructureAttributeValues flat tree whose TPdfStructureAttributeValue nodes tie back to their owning attribute dictionary through AttributeIndex and preserve typed nested values and lossless blobs in BlobValueTPdfView.FormFieldZOrderAt, TPdfView.LinkZOrderAt, and TPdfView.ReplaceFormTextAndKeepSelection expose the matching coordinate conversion and selection-preserving form operations through the visual controlThumbnailRawData returns the embedded thumbnail stream before filter decodingThumbnailDecodedData returns the embedded thumbnail stream after filter decodingTransformPageContent transforms and clips all page objects, regenerates the page, and reloads its derived handlesTransformPageAnnotations applies the same affine coordinate model to all annotations on the current page
Matrix.a := 0.5;
Matrix.b := 0;
Matrix.c := 0;
Matrix.d := -0.5;
Matrix.e := 0;
Matrix.f := 421;
Clip.Left := 0;
Clip.Top := 0;
Clip.Right := 300;
Clip.Bottom := 421;
Bitmap := Pdf1.RenderPageWithMatrix(300, 421, Matrix, Clip);
RenderPageWithMatrix accepts an invertible FS_MATRIX and a clipping rectangle in device coordinates
The overload that receives a caller-owned TBitmap renders directly into a compatible 32-bit DIB and falls back to one copy only when an external PDFium bitmap cannot be created
Matrix rendering draws page content and non-interactive annotations selected through render flags, but it does not invoke the form-fill overlay renderer