THotPDF.UseObjectStreams Property

 

THotPDF.UseObjectStreams

THotPDF

 

Øverst  Forrige  Neste

Pakk egnede indirekte objekter inn i PDF 1.5 /Type /ObjStm-containerstrømmer (ISO 32000-1 7.5.7) for å redusere PDF-størrelsen på disk

 

Delphi-syntaks:

property UseObjectStreams: Boolean;

 

C++-syntaks:

__property bool UseObjectStreams;

 

Beskrivelse

Når UseObjectStreams er true (og UseXRefStream også er true), pakker EndDoc alle egnede indirekte objekter - ordbøker, arrays, tall, navn, strenger, boolske verdier og nullverdier - inn i én eller flere /Type /ObjStm-containerstrømmer i henhold til ISO 32000-1 7.5.7. Cross-reference-strømmen refererer deretter til de pakkede objektene via type-2-oppføringer (verts-ObjStm-objektnummer + oppføringsindeks i strømmen), så de enkelte N G obj ... endobj-rammebytene og de tekstlige xref-oppføringene per rad fjernes

 

Passer naturlig sammen med egenskapen UseXRefStream for den mest kompakte PDF 1.5+-skrivekjeden. ObjStm-pakkeren lar strømobjekter, krypteringsordboken og de trailer-pekte Catalog- og Info-ordbøkene stå ukomprimert, slik at selv minimale PDF-parsere fortsatt kan finne dokumentroten og dekryptere innhold

 

Standardverdi: false (valgfritt)

Hvis UseObjectStreams settes til true, faller den stille tilbake til false når UseXRefStream er av (type-2-oppføringer kan ikke uttrykkes i den tekstlige xref-tabellen ifølge spesifikasjonen) eller når Version er lavere enn PDF 1.5

 

Kodeeksempel

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;

 

Størrelsesreduksjon

I dokumenter som domineres av små indirekte ordbøker (fler-siders dokumenter, merknader, AcroForm-widgeter, strukturtre-elementer og Optional Content-lag) er besparelsen vanligvis 20-40 % av filstørrelsen etter FlateDecode. En grafikkbasert 30-siders smoke test krymper fra 14502 bytes til 8488 bytes (-41.5%)

 

Se også

UseXRefStream, Compression, Version, PDF Filter Support