PDFium Delphi Component Docs

TextPageSnapshot svojstvo

Komponenta: TPdf  ·  Jedinica: PDFium
Vraća predmemoriranu ograničenu snimku teksta jedne stranice s tekstom stranice, zapisima znakova i zapisima tekstualnih objekata

Sintaksa

property TextPageSnapshot[PageNumber: Integer]: TPdfTextPageSnapshot; // read only

 

type TPdfTextPageSnapshot = record
  PageNumber: Integer;
  Width: Double;
  Height: Double;
  Status: TPdfTextSnapshotStatus;
  Text: WString;
  Characters: TPdfTextCharacterSnapshots;
  TextObjects: TPdfTextObjectSnapshots;
end;

PageNumberInteger. Indeks stranice unutar učitanog dokumenta s bazom jedan
StatusTPdfTextSnapshotStatus. Zastavica dovršenosti, brojači posjećenosti, nepreslikanih i neuspjelih vrijednosti te dosegnute zastavice proračuna
TextWString. Izdvojeni tekst stranice u izvornom redoslijedu PDFiuma
CharactersZapisi po znaku s točkom koda, indeksima, granicama, ishodištem, kutom, veličinom fonta, bojama i podacima matrice
TextObjectsZapisi po tekstualnom objektu s rasponima znakova, nazivom fonta, zastavicama, debljinom i načinom renderiranja

Opis

Prvi pristup stranici snima snimku s proračunima TPdfTextSnapshotOptions.Default, milijun znakova, sto tisuća tekstualnih objekata i proračunom naziva fonta od 16 MiB. Aktivna stranica čita se kroz svoje učitane rukovatelje, a svaka druga stranica privremeno se učita i zatvori bez promjene PageNumber i bez okidanja OnPageChange

Svaki pristup vraća duboku kopiju, pa izmjena niza ili polja u vlasništvu pozivatelja ne može promijeniti predmemoriranu snimku ni PDF

Dovršene snimke zadržavaju se u ograničenoj predmemoriji opisanoj u TextSnapshotCacheCapacity i mjere se naspram CacheBudgetBytes, a GetStructuredText i GetTextInReadingOrder s fizičkim rasporedom ponovno koriste istu snimku

Napomene

Poziv bez aktivnog dokumenta podiže EPdfError, a PageNumber izvan raspona od jedan do PageCount podiže EPdfError s porukom Incorrect page number

Koristite ReadTextPageSnapshot za prilagođene proračune snimanja ili za namjerno zaobilaženje predmemorije

Primjer

Snapshot := Pdf.TextPageSnapshot[PageNumber];
if Snapshot.Status.Completed then
  LogCharacterCount(Length(Snapshot.Characters));

Vidi također

TextSnapshotCacheCapacity, TextSnapshotCacheCount, TextPageSnapshots, GetStructuredText, TPdfView.TextPage