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