THotPDF.ScrubLoadedRedactionRemnants

読み込みドキュメントの墨消し後に残る私的データと到達不能オブジェクトを完全に削除します

Delphi 構文

function ScrubLoadedRedactionRemnants(
  out Report: THPDFSanitiseReport): Boolean;

説明

このメソッドは spRedactionCleanup サニタイズプロファイルを読み込み済みオブジェクトグラフ全体に適用します

Redact とファイル添付の注釈、trailer の document-information ディクショナリ、Catalog またはページの XMP メタデータ、私的な /PieceInfo メタデータ、embedded-file の name tree、associated file、portfolio、それらの分離された payload ストリームを削除します

その後、循環安全な到達可能性パスが、Catalog から到達できなくなったすべての間接オブジェクトを削除します。未使用のフォント、フォントプログラム、画像、Form XObject、メタデータストリーム、注釈、payload オブジェクトが対象で、生存オブジェクト番号は線形時間でコンパクト化されます

このメソッドは増分保存を無効化し、次の読み込みドキュメント保存で完全な書き直しを強制するため、削除されたバイトが以前のリビジョンに残ることはありません

無関係なアクション、ページコンテンツ、ナビゲーション、フォーム、注釈は保持されます。アクティブなコンテンツも削除する必要がある場合は、SanitiseLoadedDocument を使用してください

レポート

MetadataEntriesRemoved、RedactAnnotationsRemoved、EmbeddedFilesRemoved、PayloadStreamsRemoved、UnreachableObjectsRemoved、PriorRevisionBytesDiscarded がクリーンアップのテレメトリを提供します

例

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;

関連項目 ApplyLoadedRedactions と Loaded Document Sanitisation