PDFium Delphi Component Docs

Avancerade API:er för sidinnehåll

Component: TPdf  ·  Unit: PDFium
Inspekterar och redigerar nativt sidinnehåll utan att applikationer behöver hantera PDFium-handtag eller bitmapbuffertar

Page object inspection

PageObjectInfo returnerar en TPdfPageObjectInfo-ögonblicksbild som innehåller handtaget, objekttypen, normala och roterade gränser, den effektiva matrisen, aktivt tillstånd, transparens, fyllnads- och strykfärger, alfavärden, strykbredd, line join, line cap, streckarray och streckfas

HasRotatedBounds, HasActiveState och de andra Has*-fälten skiljer ett otillgängligt nativt värde från ett giltigt nollvärde

RotatedBounds bär den roterade fyrhörningen, HasLineJoin och HasLineCap styr join- och kapp-stilarna, och DashPhase förskjuter starten av streckmönstret

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 tillämpar varje valt fält på samma nativa objekt och genererar sidinnehållet om en gång

TransformPageObject komponerar en affin FS_MATRIX med det valda objektet

Paths, clip paths, and Form XObjects

Content marks, glyphs, and native object helpers

Character inspection and index mapping

CharacterInfo returnerar fyllnads- och strykfärger, typsnittsnamn, PDF-typsnittsflaggor, lösa glyphgränser, den effektiva matrisen och det kopplade textobjektshandtaget

CharacterIndexToTextIndex och TextIndexToCharacterIndex konverterar mellan PDFium:s teckenindex och index i den genererade textströmmen

Annotation borders and appearance streams

TPdfAnnotation exponerar kantradie och bredd via HasBorder, BorderHorizontalRadius, BorderVerticalRadius och BorderWidth

Färgtäckningen sträcker sig till ColorAlpha, InteriorColor och InteriorColorAlpha, markupmetadata styrs av HasAuthor, HasName, HasSubject, HasModificationDate, HasCreationDate och HasIcon, och ink-gestures, quad point-geometri och länkmål exponeras via InkList, HasAttachmentPoints, HasLinkUri och LinkUri

Normal-, rollover- och down-utseendeströmmar finns via sentinelvärdena HasAppearanceNormal, HasAppearanceRollover och HasAppearanceDown och deras matchande strängar AppearanceNormal, AppearanceRollover och AppearanceDown

Vid läsning av en annotering identifierar dessa sentineller icke-tomt utseendeinnehåll: det nativa API:t returnerar samma tomma sträng för en saknad ström som för en tom ström, så båda rapporterar False och lämnas orörda när posten skrivs tillbaka; anroparen kan fortfarande explicit sätta en sentinel till True för att skriva ett tomt utseende

Tilldela den uppdaterade annoteringsposten tillbaka till Annotation[Index] för att skriva valda kant- eller utseendevärden

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 accepterar en inverterbar FS_MATRIX och en klippningsrektangel i enhetskoordinater

Overloaden som tar emot en anroparägd TBitmap renderar direkt till en kompatibel 32-bitars DIB och faller tillbaka till en enda kopia först när en extern PDFium-bitmap inte kan skapas

Matrisrendering ritar sidinnehåll och icke-interaktiva annoteringar valda via renderflaggor, men den anropar inte formulärfyllningens överläggsrenderare