SetDeterministicDocumentID
ドキュメントプロパティ、最適化
説明
明示的なシードまたは正規化された直列化コンテンツから導出される、再現可能な trailer ファイル識別子を有効または無効にします
構文
Delphi
Function TPDFlib.SetDeterministicDocumentID(Enable: Integer): Integer;パラメータ
| Enable | 1 で trailer ファイル識別子を明示的なシードまたは正規化されたドキュメントコンテンツから導出し、0 で既定の時刻由来の識別子に戻します |
|---|
戻り値
| 0 | パラメータ値が不正です |
|---|---|
| 1 | 設定は正常に適用されました |
備考
有効にすると、次回の完全な非暗号化保存で trailer の /ID が SetDocumentIDSeed で指定されたシードから導出されます。明示的なシードがない場合、ライターは直列化されたヘッダーとドキュメント本体を SHA-256 に通し、生成されたリソース識別子と XMP インスタンス UUID を正規化して、初期の /ID 配列の両エントリに最初の 16 ダイジェストバイトを使用します。クロスリファレンスデータ、trailer オフセット、以前の trailer の /ID は除外されるため、ページ、リソース、添付、メタデータの変更は識別子に影響しますが、レイアウトオフセットは影響しません識別子は完全な保存時にのみ更新されます。インクリメンタル更新は永久識別子を書き換えず、暗号化されたドキュメントは既存の識別子を保持します。これは最初の
/ID エントリが暗号化鍵の導出に関与するためです。自動日付やその他の揮発性のユーザーメタデータはコンテンツとして扱われます。独立して生成された 2 つのドキュメントが同じコンテンツ由来の識別子を受け取る必要がある場合は、明示的に設定してください
例
PDF.SetDeterministicDocumentID(1);
PDF.SetDocumentIDSeed('invoice-2026-07-0001');
PDF.DrawText(100, 100, 'Reproducible output');
PDF.SaveToFile('invoice.pdf'); // same seed, same trailer ID関連項目
GetDeterministicDocumentID, SetDocumentIDSeed, GetDocumentFileID