RepairDocumentMetadata

メタデータ

説明

ドキュメント情報辞書と XMP パケットを一致させ、宣言した規格で必要な識別を完成させます

構文

Delphi

Function TPDFlib.RepairDocumentMetadata: Integer;

戻り値

Count修復されたエントリ数
0両方の半分はすでに合意しており、不足はなかった

備考

PDF には作成者が 2 回記載される。1 回は文書情報辞書、もう 1 回は XMP パケットである。バリデーターは両方を読み取り、不一致のあるファイルを拒否する。この点で失敗するファイルの大半は、単に XMP 側が書き込まれていない

ほぼすべての作成者が設定する側なので、情報辞書をドキュメント'自身の記録として扱います。XMP 側だけに値がある場合は、既存の記録を失わないよう情報辞書へ補完します。タイトル、作成者、件名、キーワード、作成ツール、生成ツール、2 つの日付を対象とします

ドキュメントを SetPDFAMode で PDF/A モードに設定すると、標準識別情報がない場合に復元されます — これは呼び出し側が SetDocumentMetadata で独自のパケットを指定するたびに発生します。識別情報がないと、検証ツールは通常の PDF として読み取り、宣言したパートのすべてのルールが未達成と報告します。ファイルから開いたドキュメントには独自のモードがないため、宣言する場合は最初に SetPDFAMode を呼び出します

パケットには PDF を記述していることも記録され、検証ツールがそれを確認します

例

PDF.LoadFromFile('report.pdf', '');
Repaired := PDF.RepairDocumentMetadata;
PDF.SaveToFile('report-fixed.pdf');

関連項目

GetDocumentMetadata, SetDocumentMetadata, SetPDFAMode