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