THotPDF.UseObjectStreams svojstvo

 

THotPDF.UseObjectStreams

THotPDF

 

Vrh  Prethodno  Sledeće

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;

 

Opis

Kada je UseObjectStreams true (a UseXRefStream je takođe true), EndDoc pakuje svaki podoban indirektni objekat - rečnike, nizove, brojeve, imena, nizove znakova, booleane, null vrednosti - u jedan ili više /Type /ObjStm kontejnerskih strimova prema ISO 32000-1 7.5.7. Tada cross-reference strim referencira upakovane objekte kroz unose tipa 2 (broj host ObjStm objekta + indeks unosa unutar tog strima), pa se pojedinačni N G obj ... endobj okvirni bajtovi i tekstualni xref unosi po redu uklanjaju

 

Prirodno se uparuje sa UseXRefStream property za najkompaktniji PDF 1.5+ writer pipeline. ObjStm packer ostavlja stream objekte, encryption dictionary i trailer-om pokazane Catalog i Info rečnike nekompresovane tako da i minimalni PDF parseri i dalje mogu da lociraju korene dokumenta i dešifruju sadržaj

 

Default value: false (opt-in).

Postavljanje UseObjectStreams na true tiho se vraća na false kada je UseXRefStream isključen (unosi tipa 2 ne mogu da se predstave u tekstualnoj xref tabeli prema specifikaciji) ili kada je Version ispod 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;

 

Smanjenje veličine

Na dokumentima kojima dominiraju mali indirektni rečnici (višestrani dokumenti, anotacije, AcroForm widgeti, structure-tree elementi, Optional Content slojevi) ušteda je tipično 20-40% veličine fajla posle FlateDecode. 30-strani graphics-only smoke test smanjuje se sa 14502 bajta na 8488 bajtova (-41.5%)

 

Vidi i

UseXRefStream, Compression, Version, PDF Filter Support