PDFium Delphi Component Docs

SaveAsDeduplicated metodas

Komponentas: TPdf  ·  Modulis: PDFium
Perrašo dokumentą kaip vieną švarią reviziją, kuri pirmiausia išvalo nepasiekiamus objektus, o tada sulieja suderintus šriftus, paveikslėlius ir form XObject į vieną bendrą atstovą

Syntax

function SaveAsDeduplicated(Stream: TStream; out Report: TPdfDedupReport; AllowSignedDocument: Boolean = False): Boolean;

function SaveAsDeduplicated(const FileName: string; out Report: TPdfDedupReport; AllowSignedDocument: Boolean = False): Boolean;

Description

PDFium pirmiausia įrašo neprieauginę dabartinio atmintyje esančio dokumento kopiją, tada apvalkalas atlieka viso dokumento pasiekiamumo apejimą ir pašalina kiekvieną nepasiekiamą objektą visiškai kaip SaveAsReachable

Tada šriftai, paveikslėliai ir form XObject gauna atspaudus: kiekvienas kandidato žodynas, visas jo pasiekiamas pografis ir neapdorotas srauto turinys maišomi rekursyviai, todėl dublikatai suliejami tik tada, kai visas jų turinys yra identiškas

Kiekviena kryžminė nuoroda, rodžiusi į sulietą dublikatą, perrašoma į išlikusį atstovą, o objektų numeriai ir kartos lieka stabilūs, todėl kiekviena išlikusi kryžminė nuoroda išlieka galiojanti

Išvestis yra viena klasikinė revizija be objektų srautų ir be kryžminių nuorodų srauto, o atstatytas trailer perduoda /Root, /Info ir /ID

Policies and limits

Example

Pdf.SaveAsDeduplicated('deduplicated.pdf', Report);
WriteLn('merged ', Report.MergedImageCount, ' images');

See Also

SaveAsReachable, SaveAs, SaveAsNormalizedContent