property ModifiedDate: WString; // read only
ModifiedDate は、ドキュメント Information 辞書の /ModDate entry(PDF 1.7 仕様 14.3.3 節)を、生の PDF date リテラルとして返します。PDF はタイムスタンプを D:YYYYMMDDHHmmSSOHH'mm' 形式のリテラル日付文字列として保存します。例えば D:20260514103015+08'00' は UTC+08:00 の 2026 年 5 月 14 日 10:30:15 を意味します。D: 接頭辞と末尾のアポストロフィはリテラル構文の一部です(PDF 1.7 仕様 7.9.4 節)
Active が False のとき、ドキュメントの Info 辞書がないとき、/ModDate が書かれていないときは空文字列です。作成ツールは保存 / 増分更新のたびにこの entry を更新します。ModifiedDate を CreationDate と比較すれば、元の作成後にファイルが編集されたかを手早く判定できます
返される値は生のリテラルで、解析済みの TDateTime ではありません。EncodeDateTime を呼ぶ前に D: 接頭辞、省略可能なタイムゾーン、末尾のアポストロフィを剥がしてください。あるいは (\d{4})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})([+-Z])(\d{2})'(\d{2})' を捕まえる正規表現を使っても構いません
+08'00')。ISO-8601 の形式とは違いますD: 接頭辞を剥がしたあと ASCII の辞書順ソート可能な文字列として扱えます。秒フィールドまでの範囲なら、辞書順比較で正しく時系列に並びます
var Raw: WString;
Raw := Pdf1.ModifiedDate;
if Raw <> '' then
begin
// e.g. "D:20260514103015+08'00'"
Memo1.Lines.Add('Last modified: ' + Raw);
end;