THotPDF.UseObjectStreams Property

 

THotPDF.UseObjectStreams

THotPDF

 

الأعلى  السابق  التالي

Pack eligible indirect objects into PDF 1.5 /Type /ObjStm container streams (ISO 32000-1 7.5.7) to cut on-disk PDF size.

 

Delphi syntax:

property UseObjectStreams: Boolean;

 

C++ syntax:

__property bool UseObjectStreams;

 

الوصف

عندما يكون UseObjectStreams true ويكون UseXRefStream true أيضًا، يحزم EndDoc كل كائن indirect مؤهل - القواميس والمصفوفات والأرقام والأسماء والسلاسل والbooleans وnulls - في تدفقات حاوية /Type /ObjStm وفق ISO 32000-1 7.5.7. ثم يشير cross-reference stream إلى الكائنات المحزومة عبر type-2 entries، فتختفي بايتات framing الفردية

 

يتكامل طبيعيًا مع UseXRefStream لأكثر pipeline كتابة PDF 1.5+ ضغطًا. يترك ObjStm packer كائنات stream وقاموس التشفير وقواميس Catalog وInfo المشار إليها من trailer دون ضغط حتى تستطيع parsers PDF البسيطة تحديد جذور المستند وفك المحتوى

 

Default value: false (opt-in).

ضبط UseObjectStreams على true يعود بصمت إلى false عندما يكون UseXRefStream متوقفًا أو عندما تكون Version أقل من PDF 1.5

 

Code Example

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

في المستندات التي تهيمن عليها قواميس indirect صغيرة، مثل المستندات متعددة الصفحات والتعليقات وAcroForm widgets وعناصر structure-tree وOptional Content layers، يكون التوفير عادة 20-40% من حجم الملف بعد FlateDecode. اختبار smoke رسومي من 30 صفحة ينخفض من 14502 إلى 8488 بايت (-41.5%)

 

انظر أيضا

UseXRefStream, Compression, Version, PDF Filter Support