THotPDF.ScrubLoadedRedactionRemnants

Remove permanentemente dados privados residuais e objetos inacessíveis após a redação do documento carregado

Sintaxe Delphi

function ScrubLoadedRedactionRemnants(
  out Report: THPDFSanitiseReport): Boolean;

Descrição

O método aplica o perfil de sanitização spRedactionCleanup ao grafo de objetos carregado completo

Ele remove anotações de Redact e de anexo de arquivo, o dicionário de informações do documento do trailer, metadados XMP do Catálogo ou da página, metadados privados /PieceInfo, árvores de nomes de arquivos incorporados, arquivos associados, portfólios e seus fluxos de carga destacados

Uma passagem de alcançabilidade segura para ciclos exclui então todo objeto indireto que não é mais alcançável a partir do Catálogo, incluindo fontes não utilizadas, programas de fonte, imagens, Form XObjects, fluxos de metadados, anotações e objetos de carga. Os números de objeto ativos são compactados em tempo linear

O método desativa o salvamento incremental e força o próximo salvamento do documento carregado a realizar uma reescrita completa, para que bytes removidos não possam sobreviver em uma revisão anterior

Ações não relacionadas, conteúdo de página, navegação, formulários e anotações são preservados. Use SanitiseLoadedDocument quando o conteúdo ativo também precisar ser removido

Relatório

MetadataEntriesRemoved, RedactAnnotationsRemoved, EmbeddedFilesRemoved, PayloadStreamsRemoved, UnreachableObjectsRemoved e PriorRevisionBytesDiscarded fornecem telemetria de limpeza

Exemplo

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;

Veja também ApplyLoadedRedactions e Sanitização de documento carregado