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
GetLoadedStreamCacheInfomelaporkan jumlah stream yang didukung-sumber, dimaterialisasi-memori, dan dimaterialisasi-diskGetLoadedObjectStreamCacheInfomelaporkan anggota terindeks dan dimaterialisasi, cache hit dan miss, serta byte terdekode yang dipertahankanGetLoadedObjectLifecycleStatisticsmemisahkan objek bersih, kotor, dirilis, dan harus-ditulis
Lihat juga: LoadFromRandomAccessSource, GetProgressiveLinearizedLoadInfo, ReadProgressiveLinearizedFirstPageSection, OptimizeLoadedImagesParallel, OpenLoadedStreamSourceSlice, SourceBacked, LoadedStreamMemoryThreshold, ReleaseLoadedDecodedStreamCaches, DecompressAllObjectStreams