PDFium Delphi Component Docs

SaveAsReachable metodas

Komponentas: TPdf  ·  Modulis: PDFium
Perrašo dokumentą kaip vieną švarią reviziją, kurioje išlaikomi tik netiesioginiai objektai, pasiekiami iš katalogo ir trailer /Info žodyno

Syntax

function SaveAsReachable(Stream: TStream; out Report: TPdfPruneReport; AllowSignedDocument: Boolean = False): Boolean;

function SaveAsReachable(const FileName: string; out Report: TPdfPruneReport; AllowSignedDocument: Boolean = False): Boolean;

Description

PDFium pirmiausia įrašo neprieauginę dabartinio atmintyje esančio dokumento kopiją, kad perrašymas prasidėtų nuo kanoninių baitų

Tada analizuojamas objektų grafą ir viso dokumento pasiekiamumo apejimas iš katalogo surenka kiekvieną išliekantį netiesioginį objektą, įskaitant puslapių medį, puslapių išteklius, šriftus, paveikslėlius, form XObjects, AcroForm, struktūros medį, struktūrinį turinį, vardų medžius, optional content, metaduomenis, output intents ir susietus failus

Objektai, kurių nebepasiekia inkrementiniai atnaujinimai, puslapių sujungimai ar atkurti įrašymai, pašalinami, o išvestis yra viena klasikinė revizija be objektų srautų ir be kryžminių nuorodų srauto

Objektų numeriai ir kartos išlaikomi, todėl kiekviena išlikusi kryžminė nuoroda lieka galiojanti be pernumeravimo; nepasiekiami objektai tampa laisvais įrašais atkurtoje klasikinėje kryžminių nuorodų lentelėje

Atstatytas trailer perduoda /Root, /Info ir /ID tik tada, kai nurodyti objektai išlieka po valymo

Policies and limits

Example

Pdf.SaveAsReachable('pruned.pdf', Report);
WriteLn('Kept ', Report.KeptObjectCount, ' pruned ', Report.PrunedObjectCount);

See Also

SaveAs, SaveAsRepaired, SaveAsNormalizedContent