PDFium Delphi Component Docs

TextPageSnapshot property

Component: TPdf  ·  Unit: PDFium
Mengembalikan snapshot teks berbatas satu halaman yang ter-cache, berisi teks halaman, record karakter, dan record objek teks

Syntax

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 halaman berbasis satu di dalam dokumen yang dimuat
StatusTPdfTextSnapshotStatus. Flag penyelesaian, hitungan visited, penghitung unmapped dan kegagalan, serta flag anggaran yang tercapai
TextWString. Teks halaman hasil ekstraksi dalam urutan native PDFium
CharactersRecord per karakter dengan code point, indeks, bounds, origin, sudut, ukuran font, warna, dan fakta matriks
TextObjectsRecord per objek teks dengan rentang karakter, nama font, flag, weight, dan render mode

Description

Akses pertama untuk suatu halaman menangkap snapshot dengan anggaran TPdfTextSnapshotOptions.Default, yaitu satu juta karakter, seratus ribu objek teks, dan anggaran nama font 16 MiB. Halaman aktif dibaca melalui handle yang dimuatnya, dan halaman lain dimuat lalu ditutup sesaat tanpa mengubah PageNumber atau memicu OnPageChange

Setiap akses mengembalikan deep copy, sehingga mengubah string atau array milik pemanggil tidak dapat memodifikasi snapshot yang ter-cache maupun PDF

Snapshot yang selesai disimpan dalam cache berbatas yang dijelaskan TextSnapshotCacheCapacity dan diukur terhadap CacheBudgetBytes, dan GetStructuredText beserta GetTextInReadingOrder tata letak fisik memakai ulang snapshot yang sama

Remarks

Pemanggilan tanpa dokumen aktif memunculkan EPdfError, dan PageNumber di luar satu sampai PageCount memunculkan EPdfError dengan pesan Incorrect page number

Gunakan ReadTextPageSnapshot untuk anggaran penangkapan kustom atau untuk sengaja melewati cache

Example

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

See Also

TextSnapshotCacheCapacity, TextSnapshotCacheCount, TextPageSnapshots, GetStructuredText, TPdfView.TextPage