property ModifiedDate: WString; // read only
ModifiedDate возвращает запись /ModDate из информационного словаря документа (раздел 14.3.3 спецификации PDF 1.7) как сырой PDF-литерал даты. PDF хранит метку времени строкой-литералом формата D:YYYYMMDDHHmmSSOHH'mm' — например, D:20260514103015+08'00' означает 14 мая 2026, 10:30:15 в UTC+08:00. Префикс D: и хвостовой апостроф — часть синтаксиса литерала (раздел 7.9.4 спецификации PDF 1.7)
Строка пуста, когда Active равно False, когда информационный словарь документа отсутствует или когда /ModDate не записан Продюсеры обновляют эту запись при каждом сохранении / инкрементальном обновлении; сравнение 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-8601D: строку можно сравнивать лексикографически как ASCII — формат сортируется корректно вплоть до поля секунд
var Raw: WString;
Raw := Pdf1.ModifiedDate;
if Raw <> '' then
begin
// e.g. "D:20260514103015+08'00'"
Memo1.Lines.Add('Last modified: ' + Raw);
end;