PDFium Component Docs

Geavanceerde pagina-content-API's

Component: TPdf  ·  Unit: PDFium
Inspecteert en bewerkt native pagina-inhoud zonder dat toepassingen PDFium-handles of bitmapbuffers hoeven te beheren

Page object inspection

PageObjectInfo geeft één TPdfPageObjectInfo-snapshot terug met de handle, objecttype, normale en gedraaide bounds, effectieve matrix, actieve status, transparantie, vul- en lijnkleuren, alpha-waarden, lijndikte, line join, line cap, dash-array en dash-fase

HasRotatedBounds, HasActiveState en de andere Has*-velden onderscheiden een niet-beschikbare native waarde van een geldige nulwaarde

RotatedBounds draagt de gedraaide vierhoek, HasLineJoin en HasLineCap schermen de join- en cap-stijlen af, en DashPhase verschuift het begin van het dash-patroon

Batched page object editing

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 past elk geselecteerd veld toe op hetzelfde native object en regenereert de pagina-inhoud één keer

TransformPageObject composeert een affiene FS_MATRIX met het geselecteerde object

Paths, clip paths, and Form XObjects

Content marks, glyphs, and native object helpers

Character inspection and index mapping

CharacterInfo geeft vul- en lijnkleuren, fontnaam, PDF-fontvlaggen, losse glyph-bounds, effectieve matrix en de bijbehorende tekstobjecthandle terug

CharacterIndexToTextIndex en TextIndexToCharacterIndex converteren tussen PDFium-tekenindexen en indexen in de gegenereerde tekststroom

Annotation borders and appearance streams

TPdfAnnotation stelt border-radii en breedte bloot via HasBorder, BorderHorizontalRadius, BorderVerticalRadius en BorderWidth

Kleurdekking strekt zich uit tot ColorAlpha, InteriorColor en InteriorColorAlpha, markup-metadata wordt afgeschermd door HasAuthor, HasName, HasSubject, HasModificationDate, HasCreationDate en HasIcon, en ink-gebaren, quad-point-geometrie en linkdoelen worden blootgesteld via InkList, HasAttachmentPoints, HasLinkUri en LinkUri

Normale, rollover- en down-appearance-streams zijn beschikbaar via de sentinels HasAppearanceNormal, HasAppearanceRollover en HasAppearanceDown en hun bijbehorende strings AppearanceNormal, AppearanceRollover en AppearanceDown

Bij het lezen van een annotatie identificeren deze sentinels niet-lege appearance-inhoud: de native API geeft voor een ontbrekende stream en een lege stream dezelfde lege string terug, dus beide rapporteren False en blijven onaangetast wanneer het record wordt teruggeschreven; aanroepers kunnen een sentinel nog steeds expliciet op True zetten om een lege appearance weg te schrijven

Wijs het bijgewerkte annotatierecord terug toe aan Annotation[Index] om geselecteerde border- of appearance-waarden weg te schrijven

Native library, annotation, and form diagnostics

Thumbnails and affine page transforms

Matrix rendering

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 accepteert een inverteerbare FS_MATRIX en een cliprechthoek in apparaatcoördinaten

De overload die een TBitmap in eigendom van de aanroeper ontvangt, rendert direct in een compatibele 32-bit DIB en valt slechts terug op één kopie wanneer geen externe PDFium-bitmap kan worden aangemaakt

Matrix-rendering tekent pagina-inhoud en niet-interactieve annotaties die via rendervlaggen zijn geselecteerd, maar roept de form-fill-overlayrenderer niet aan