THotPDF.UseObjectStreams Property

 

THotPDF.UseObjectStreams

THotPDF

 

Viršus  Ankstesnis  Kitas

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;

 

Aprašas

Kai UseObjectStreams yra true (ir UseXRefStream taip pat true), EndDoc supakina kiekvieną tinkamą netiesioginį objektą - žodynus, masyvus, skaičius, vardus, eilutes, boolean reikšmes, null - į vieną ar kelis /Type /ObjStm konteinerio srautus pagal ISO 32000-1 7.5.7. Tada kryžminių nuorodų srautas nurodo į supakuotus objektus per 2 tipo įrašus (host ObjStm objekto numeris + įrašo indeksas tame sraute), todėl atskiri N G obj ... endobj rėmelio baitai ir eilučių tekstiniai xref įrašai yra pašalinami

 

Natūraliai veikia kartu su atributu UseXRefStream kaip tinkamiausias PDF 1.5+ rašymo procesas. ObjStm pakuotė palieka srauto objektus, šifravimo žodyną bei trailer'io rodomus Catalog ir Info žodynus nespausdintus, kad net minimalūs PDF skaitytuvai vis dar rastų dokumento šaknis ir iššifruotų turinį

 

Default value: false (opt-in).

Nustačius UseObjectStreams į true, reikšmė tyliai grąžinama į false, kai UseXRefStream išjungtas (pagal specifikaciją type-2 įrašai negali būti išreikšti tekstinėje xref lentelėje) arba kai Version yra žemiau 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

Dokumentuose, kuriuose daugmaž vienodai dominuoja maži netiesioginiai žodynai (daugiapuslapiai dokumentai, anotacijos, AcroForm valdikliai, struktūros medžio elementai, pasirinktinio turinio sluoksniai), taupymas dažniausiai siekia 20-40% failo dydžio po FlateDecode. 30 puslapių grafikos „smoke“ testas sumažėjo nuo 14502 baitų iki 8488 baitų (-41.5%)

 

See Also

UseXRefStream, Compression, Version, PDF Filter Support