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');