PDFium Delphi Component Docs

SaveAsDeduplicated メソッド

コンポーネント: TPdf  ·  ユニット: PDFium
到達不能オブジェクトをまず一掃し、次に互換性のあるフォント、画像、Form XObject を 1 つの共有代表に集約して、ドキュメントを単一のクリーンなリビジョンとして書き換えます

構文

function SaveAsDeduplicated(Stream: TStream; out Report: TPdfDedupReport; AllowSignedDocument: Boolean = False): Boolean;

function SaveAsDeduplicated(const FileName: string; out Report: TPdfDedupReport; AllowSignedDocument: Boolean = False): Boolean;

説明

PDFium はまず現在のメモリ内ドキュメントの非増分コピーを書き、次にラッパーがドキュメント全体の到達可能性走査を実行し、SaveAsReachable とまったく同じようにすべての到達不能オブジェクトを破棄します

フォント、画像、Form XObject はフィンガープリントされます。各候補辞書、その完全な到達可能サブグラフ、生のストリームペイロードが再帰的にハッシュされるため、重複は内容全体が同一の場合のみマージされます

マージで消えた重複を指すすべてのクロスリファレンスは生存代表に書き換えられ、オブジェクト番号と世代は安定したままなので、生存クロスリファレンスはすべて有効なままです

出力はオブジェクトストリームもクロスリファレンスストリームもない単一のクラシックリビジョンで、再構築されたトレーラーは /Root/Info/ID を引き継ぎます

ポリシーと制限

Pdf.SaveAsDeduplicated('deduplicated.pdf', Report);
WriteLn('merged ', Report.MergedImageCount, ' images');

関連項目

SaveAsReachable, SaveAs, SaveAsNormalizedContent