|
Hasilkan stream cross-reference PDF 1.5 /Type /XRef (ISO 32000-1 7.5.8) alih-alih urutan tekstual xref ... trailer. Payload container dikompresi Flate dengan prediksi PNG Up (/DecodeParms /Predictor 12), lebar field di /W menyesuaikan rentang offset aktual (melebar melewati 4 GiB alih-alih memotong), dan lubang free-list dipadatkan menjadi subseksi /Index sehingga nomor objek yang jarang tidak lagi menghabiskan satu baris untuk masing-masing
Delphi syntax:
property UseXRefStream: Boolean;
C++ syntax:
__property bool UseXRefStream;
Deskripsi
Saat UseXRefStream bernilai true, EndDoc menulis satu objek stream indirek /Type /XRef alih-alih urutan tekstual lawas xref + trailer + startxref. Entri memakai /W [1 4 2]: field tipe satu byte, offset empat byte (atau nomor host objek terkompresi), dan generation dua byte (atau indeks objek terkompresi). Seluruh tabel dikompresi FlateDecode, yang biasanya memangkas overhead xref 4-10x pada dokumen besar
Stream XRef adalah prasyarat mutlak untuk fitur UseObjectStreams: hanya stream xref biner yang dapat mengodekan entri objek terkompresi tipe-2 yang menunjuk ke kontainer /Type /ObjStm. Mematikan UseXRefStream secara otomatis menonaktifkan UseObjectStreams saat penyimpanan
Nilai default: false (opt-in - mempertahankan tabel xref tekstual untuk alat yang meng-hardcode kata kunci xref dan untuk kompatibilitas maksimum dengan pembaca PDF 1.4 / yang lebih lama)
Menetapkan UseXRefStream ke true pada dokumen yang Version-nya di bawah PDF 1.5 akan diabaikan diam-diam saat penyimpanan - xref tekstual yang akan dihasilkan sebagai gantinya
Contoh kode
HPDF := THotPDF.Create( nil );
try
HPDF.FileName := 'c:\Output.pdf';
HPDF.Version := pdf15; // Required for XRef streams
HPDF.UseXRefStream := true; // Emit /Type /XRef instead of xref table
HPDF.UseObjectStreams := true; // Optional: also pack objects into /Type /ObjStm
HPDF.Compression := cmFlateDecode;
HPDF.BeginDoc;
HPDF.CurrentPage.TextOut( 100, 100, 0, 'Compact PDF 1.5 output' );
HPDF.EndDoc;
finally
HPDF.Free;
end;
Lihat juga
UseObjectStreams, Compression, Version, PDF Filter Support
|