PDFium Delphi Component Docs

SaveAsObjectStream metoda

Component: TPdf  ·  Unit: PDFium
Zapíše kompaktní kopii PDF 1.5+ pomocí ohraničených objektových proudů a kompletního xref proudu

Syntax

function SaveAsObjectStream(Stream: TStream; Option: TSaveOption = saNone; PdfVersion: TPdfVersion = pvUnknown; MaxObjectsPerStream: Integer = 100; MaxDecodedBytesPerStream: Integer = 65536): Boolean;

function SaveAsObjectStream(const FileName: string; Option: TSaveOption = saNone; PdfVersion: TPdfVersion = pvUnknown; MaxObjectsPerStream: Integer = 100; MaxDecodedBytesPerStream: Integer = 65536): Boolean;

StreamTStream, který obdrží kompletní PDF s objektovými proudy
FileNameVýstupní cesta nahrazená až poté, co uspěje sesterský dočasný soubor
OptionNormal save option or saRemoveSecurity; saIncremental is rejected
PdfVersionVýstupní verze od PDF 1.5 výše, nebo pvUnknown pro zachování nebo upgrade aktuální verze
MaxObjectsPerStreamMaximální počet členů objektů na skupinu ObjStm; výchozí je 100
MaxDecodedBytesPerStreamMaximální dekódovaný obsah členů na skupinu; výchozí je 65536 bajtů

Return Value

Vrátí True, když byl výstup s objektovými proudy úspěšně dokončen

Description

Metoda nejprve použije běžnou cestu uložení PDFium jako sémantický zdroj a poté vyřeší aktivní klasickou, hybridní nebo xref-stream revizi

Existující členové objektových proudů jsou materializováni, než jsou odkazy přečíslovány do pořadí lokálního pro stránku

Vhodné nestreamové objekty jsou seskupeny podle počtu členů i dekódované velikosti obsahu a poté Flate-komprimovány pouze tehdy, když komprese skupinu zmenší

Katalog, streamové objekty, slovníky podpisů, nepřímé délky proudů a příliš velké hodnoty zůstávají přímo adresovatelné

Čistý xref proud používá adaptivní šířky polí a položky typu 2 pro každého komprimovaného člena

Constraints

Example

// Vyváží kompaktní výstup s ohraničenou dekompresí s náhodným přístupem
Pdf.SaveAsObjectStream('report-compact.pdf', saNoIncremental, pv17, 100, 65536);

See Also

SaveAs, SaveAsLinearized