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 מתאים, כולל dictionaries, arrays, numbers, names, strings, booleans ו-nulls, לתוך אחד או יותר container streams מסוג /Type /ObjStm לפי ISO 32000-1 7.5.7. cross-reference stream מפנה אז לאובייקטים הארוזים דרך type-2 entries, מספר object מארח של ObjStm + entry index בתוך stream זה, וכך framing של N G obj ... endobj ושורות xref טקסטואליות per-row מוסרים

 

משתלב טבעית עם המאפיין UseXRefStream עבור pipeline כתיבה קומפקטי ביותר של PDF 1.5+. ‏ObjStm packer משאיר stream objects, את מילון ההצפנה ואת מילוני Catalog ו-Info שאליהם trailer מצביע לא דחוסים, כך שגם parsers מינימליים של PDF עדיין יכולים לאתר document roots ולפענח תוכן

 

Default value: false (opt-in).

הגדרת UseObjectStreams ל-true יורדת בשקט ל-false כאשר UseXRefStream כבוי, משום שלא ניתן לייצג type-2 entries בטבלת xref טקסטואלית לפי המפרט, או כאשר 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 קטנים, כגון מסמכים מרובי עמודים, annotations, ‏AcroForm widgets, רכיבי structure-tree ו-Optional Content layers, החיסכון הוא בדרך כלל 20-40% מגודל הקובץ אחרי FlateDecode. בדיקת smoke גרפית של 30 עמודים קטנה מ-14502 bytes ל-8488 bytes ‏(-41.5%)

 

See Also

UseXRefStream, Compression, Version, PDF Filter Support