THotPDF.ScrubLoadedRedactionRemnants

Rimuove permanentemente i dati privati residui e gli oggetti non raggiungibili dopo la redaction di un documento caricato

Sintassi Delphi

function ScrubLoadedRedactionRemnants(
  out Report: THPDFSanitiseReport): Boolean;

Descrizione

Il metodo applica il profilo di sanitizzazione spRedactionCleanup all'intero object graph caricato

Rimuove le annotazioni Redact e degli allegati di file, il dizionario document-information del trailer, i metadati XMP del Catalog o della pagina, i metadati privati /PieceInfo, gli alberi di nomi dei file incorporati, i file associati, i portfolio e i loro payload stream scollegati

Un passaggio di reachability sicuro rispetto ai cicli elimina quindi ogni oggetto indiretto non più raggiungibile dal Catalog, inclusi font inutilizzati, programmi di font, immagini, Form XObject, metadata stream, annotazioni e oggetti payload. I numeri degli oggetti vivi vengono compattati in tempo lineare

Il metodo disabilita il salvataggio incrementale e forza il prossimo salvataggio del documento caricato a eseguire una riscrittura completa, così i byte rimossi non possono sopravvivere in una revisione precedente

Azioni non correlate, contenuto di pagina, navigazione, form e annotazioni vengono preservati. Usare SanitiseLoadedDocument quando anche il contenuto attivo deve essere rimosso

Report

MetadataEntriesRemoved, RedactAnnotationsRemoved, EmbeddedFilesRemoved, PayloadStreamsRemoved, UnreachableObjectsRemoved e PriorRevisionBytesDiscarded forniscono la telemetria della pulizia

Esempio

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;

Vedi anche ApplyLoadedRedactions e Sanitizzazione dei documenti caricati