Pemuatan PDF yang Skalabel dan Akses Acak

HotPDF menjaga file yang dimuat besar tetap responsif dengan menunda salinan stream dan penguraian objek terkompresi hingga data diperlukan

Jendela stream yang didukung file

Dokumen tidak terenkripsi yang dibuka dengan LoadFromFile mempertahankan badan stream yang tidak dapat diubah sebagai rentang file-sumber

Pembacaan mencari rentang yang diperlukan dan merilis handel sumber segera, sehingga file asli tetap dapat diganti di Windows

OpenLoadedStreamSourceSlice membuat tampilan hanya-baca independen atas rentang sumber yang tidak disaring tanpa menyalin atau mematerialisasikan stream lazy

Penulisan pertama mematerialisasikan stream dalam memori ketika berada di atau di bawah LoadedStreamMemoryThreshold, atau dalam file sementara yang dimiliki sendiri ketika lebih besar

Stream objek lazy

Setiap kontainer /Type /ObjStm yang didekodekan diindeks berdasarkan nomor objek xref yang berwenang tanpa mengurai setiap anggota selama dibuka

Katalog, pohon halaman, dan resolusi tautan nanti mematerialisasikan anggota individu sekali dan menggunakan kembali objek yang diurainya

Penulisan ulang penuh secara otomatis memmaterialisasikan setiap anggota yang tersisa, sementara simpan yang didukung file yang tidak berubah dapat mempertahankan byte asli secara langsung

ReleaseDecodedStreamsAfterSave merilis kontainer stream objek hanya setelah setiap anggota terindeks dimaterialisasikan, dan ReleaseLoadedDecodedStreamCaches mengekspos pass rilis aman yang sama sesuai permintaan

Akses acak kustom

Turunkan dari THPDFRandomAccessSource dan implementasikan GetSize plus ReadAt untuk memuat dari rentang HTTP, basis data, arsip, atau penyimpanan virtual; override IsRangeAvailable ketika rentang yang diambil dapat tiba secara independen

LoadFromRandomAccessSource mengadaptasi sumber ke parser seekable HotPDF dan opsional dapat memiliki sumber untuk masa pakai dokumen

Ketersediaan linearisasi progresif

GetProgressiveLinearizedLoadInfo hanya membaca probe objek-pertama yang terbatas, memvalidasi /L, /O, /E, /N, dan /T, dan melaporkan awalan halaman-pertama plus rentang ekor main-xref yang diperlukan untuk tampilan awal

ReadProgressiveLinearizedFirstPageSection menyalin bagian halaman-pertama yang tersedia dalam potongan 64 KiB setelah kedua rentang yang diperlukan hadir, sementara pembatalan operasi tetap aktif di antara pembacaan

THPDFProgressiveLoadStatus membedakan header yang tidak tersedia, sumber non-linearisasi atau tidak valid, rentang halaman-pertama yang hilang, kesiapan halaman-pertama, dan kesiapan dokumen-lengkap

Optimisasi gambar paralel dan stream rasio tinggi

OptimizeLoadedStreams dapat memilih frmHighRatio untuk mencoba empat strategi zlib deterministik pada kompresi maksimum dan mempertahankan stream Flate standar-kompatibel terkecil

OptimizeLoadedImagesParallel mendekode stream gambar yang memenuhi syarat ke dalam penyimpanan adaptif terbatas, mengompresi hingga batas pekerja pemanggil, dan mengkomit hasil secara serial dalam urutan objek-sumber hanya ketika penghematan byte yang diminta tercapai

Diagnostik

Lihat juga: LoadFromRandomAccessSource, GetProgressiveLinearizedLoadInfo, ReadProgressiveLinearizedFirstPageSection, OptimizeLoadedImagesParallel, OpenLoadedStreamSourceSlice, SourceBacked, LoadedStreamMemoryThreshold, ReleaseLoadedDecodedStreamCaches, DecompressAllObjectStreams