THotPDF.ScrubLoadedRedactionRemnants
Trvale odstraní reziduální soukromá data a nedostupné objekty po redakci načteného dokumentu
Delphi syntax
function ScrubLoadedRedactionRemnants( out Report: THPDFSanitiseReport): Boolean;
Popis
Metoda aplikuje sanitisation profil spRedactionCleanup na kompletní načtený object graph
Odstraní anotace Redact a příloh souborů, trailerový slovník informací o dokumentu, XMP metadata Catalogu či stránek, soukromá metadata /PieceInfo, name tree vložených souborů, associated files, portfolia a jejich odpojené payload streamy
Následně průchod dosažitelnosti odolný vůči cyklům smaže každý nepřímý objekt, který už není dosažitelný z Catalogu, včetně nepoužívaných fontů, font programů, obrázků, Form XObjectů, metadata streamů, anotací a payload objektů. Živá čísla objektů se kompaktně přeuspořádají v lineárním čase
Metoda vypne inkrementální ukládání a přinutí příští uložení načteného dokumentu k kompletnímu přepisu, takže odstraněné bajty nemohou přežít v dřívější revizi
Nesouvisející akce, obsah stránek, navigace, formuláře i anotace se zachovají. Když je třeba odstranit i aktivní obsah, použijte SanitiseLoadedDocument
Report
MetadataEntriesRemoved, RedactAnnotationsRemoved, EmbeddedFilesRemoved, PayloadStreamsRemoved, UnreachableObjectsRemoved a PriorRevisionBytesDiscarded poskytují cleanup telemetrii
Příklad
var
Report: THPDFSanitiseReport;
begin
PDF.LoadFromFile('redacted-source.pdf');
PDF.ApplyLoadedRedactions;
if not PDF.ScrubLoadedRedactionRemnants(Report) then
raise Exception.Create('Redaction cleanup was rejected');
PDF.SaveLoadedDocument('redacted-final.pdf');
end;
Viz také ApplyLoadedRedactions a Loaded Document Sanitisation