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;
| PageNumber | Integer. Énbasert sideindeks i det lastede dokumentet |
| Status | TPdfTextSnapshotStatus. Fullføringsflagg, antall besøkte, unmapped- og feiltellere og budsjettflaggene som ble nådd |
| Text | WString. Uttrekt sidetekst i native PDFium-rekkefølge |
| Characters | Per-tegn-records med kodepunkt, indekser, grenser, origo, vinkel, skriftstørrelse, farger og matrisefakta |
| TextObjects | Per-tekstobjekt-records med tegnområder, fontnavn, flagg, vekt og rendermodus |
Første tilgang for en side fanger snapshotet med TPdfTextSnapshotOptions.Default-budsjetter, én million tegn, hundre tusen tekstobjekter og et fontnavnbudsjett på 16 MiB. Den aktive siden leses gjennom sine lastede handle, og enhver annen side lastes og lukkes forbigående uten å endre PageNumber eller utløse OnPageChange
Hver tilgang returnerer en dyp kopi, så å endre en streng eller array som eies av kalleren, kan ikke modifisere det cachete snapshotet eller PDF-en
Fullførte snapshots beholds i den avgrensede cachen som TextSnapshotCacheCapacity beskriver og måles mot CacheBudgetBytes, og GetStructuredText pluss GetTextInReadingOrder med fysisk layout gjenbruker det samme snapshotet
Kall uten et aktivt dokument utløser EPdfError, og en PageNumber utenfor én til PageCount utløser EPdfError med meldingen Incorrect page number
Bruk ReadTextPageSnapshot for egne fangstbudsjetter eller for å bevisst omgå cachen
Snapshot := Pdf.TextPageSnapshot[PageNumber];
if Snapshot.Status.Completed then
LogCharacterCount(Length(Snapshot.Characters));