PDFium Delphi Component Docs

PageObjectsSnapshot egenskab

Komponent: TPdf  ·  Enhed: PDFium
Returnerer det cachede afgrænsede snapshot af alle objekter på én side som managed records

Syntax

property PageObjectsSnapshot[PageNumber: Integer]: TPdfPageObjectsSnapshot; // read only

 

type TPdfPageObjectsSnapshot = record
  PageNumber: Integer;
  Width: Double;
  Height: Double;
  Status: TPdfPageObjectSnapshotStatus;
  Objects: TPdfPageObjectSnapshots;
end;

PageNumberInteger. Én-baseret sideindeks inden for det indlæste dokument
StatusTPdfPageObjectSnapshotStatus. Fuldførelsesflag, besøgte objektantal og de budgetflag, der blev nået
ObjectsPr.-objekt-records med type, grænser, transformation, farver, dash-arrays, sti- og clip-segmenter, content marks, billedmetadata og afgrænset tekst

Description

Den første adgang for en side fanger snapshotet med TPdfPageObjectSnapshotOptions.Default-budgetter. Den aktive side læses gennem dens indlæste handles, og enhver anden side indlæses og lukkes forbigående uden at ændre PageNumber eller udløse OnPageChange

Enhver adgang returnerer en dyb kopi, så ændringer af indlejrede dash-arrays, markparametre, stisegmenter, clip-stier, filtre eller strenge hverken kan ændre cachede data eller dokumentet

Fuldførte snapshots gemmes i den afgrænsede cache, der beskrives af PageObjectSnapshotCacheCapacity, og måles mod CacheBudgetBytes, og PageComplexity genbruger denne cache til objekttyper, stiantal, billedpixels og transparens

Remarks

Kald uden et aktivt dokument udløser EPdfError, og et PageNumber uden for én til PageCount udløser EPdfError med beskeden Incorrect page number

Brug ReadPageObjectsSnapshot til tilpassede indfangningsbudgetter eller for bevidst at omgå cachen

Example

Snapshot := Pdf.PageObjectsSnapshot[PageNumber];
for I := 0 to High(Snapshot.Objects) do
  if Snapshot.Objects[I].ObjectType = otImage then
    LogImageObject(I);

See Also

PageObjectSnapshotCacheCapacity, PageObjectSnapshotCacheCount, PageObjectSnapshots, PageObjectInfo, PageComplexity