Properti THotPDF.UseObjectStreams

 

THotPDF.UseObjectStreams

THotPDF

 

Atas  Sebelumnya  Berikutnya

Kemas objek indirek yang memenuhi syarat ke dalam stream kontainer PDF 1.5 /Type /ObjStm (ISO 32000-1 7.5.7) untuk mengurangi ukuran PDF di disk

 

Delphi syntax:

property UseObjectStreams: Boolean;

 

C++ syntax:

__property bool UseObjectStreams;

 

Deskripsi

Saat UseObjectStreams bernilai true (dan UseXRefStream juga bernilai true), EndDoc mengemas setiap objek indirek yang memenuhi syarat - dictionary, array, angka, nama, string, boolean, null - ke dalam satu atau lebih stream kontainer /Type /ObjStm menurut ISO 32000-1 7.5.7. Stream cross-reference kemudian mereferensikan objek yang sudah dikemas melalui entri tipe-2 (nomor objek host ObjStm + indeks entri di dalam stream itu), sehingga bytes framing N G obj ... endobj individual dan entri xref tekstual per baris dihilangkan

 

Paling cocok dipakai bersama properti UseXRefStream untuk pipeline penulis PDF 1.5+ yang paling ringkas. Packer ObjStm membiarkan objek stream, dictionary enkripsi, serta dictionary Catalog dan Info yang dirujuk trailer tetap tidak dikompresi sehingga parser PDF minimal pun masih dapat menemukan akar dokumen dan mendekripsi konten

 

Nilai default: false (opt-in)

Menetapkan UseObjectStreams ke true akan turun diam-diam ke false ketika UseXRefStream mati (entri tipe-2 tidak dapat direpresentasikan dalam tabel xref tekstual menurut spesifikasi) atau ketika Version berada di bawah PDF 1.5

 

Contoh kode

HPDF := THotPDF.Create( nil );
try
  HPDF.FileName := 'c:\Output.pdf';
  HPDF.Version := pdf15;          // Object streams require PDF 1.5+
  HPDF.UseXRefStream := true;     // ObjStm references need a /Type /XRef stream
  HPDF.UseObjectStreams := true;  // Pack indirect 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;

 

Size reduction

Pada dokumen yang didominasi dictionary indirek kecil (dokumen multi-halaman, anotasi, widget AcroForm, elemen structure tree, layer Optional Content) penghematannya biasanya 20-40% dari ukuran file setelah FlateDecode. Smoke test 30 halaman yang hanya grafis menyusut dari 14502 byte menjadi 8488 byte (-41.5%)

 

Lihat juga

UseXRefStream, Compression, Version, PDF Filter Support