property CreationDate: WString; // read only
CreationDate возвращает запись /CreationDate из Information-словаря
документа (спецификация PDF 1.7, раздел 14.3.3) как необработанный литерал даты PDF.
Значение имеет формат D:YYYYMMDDHHmmSSOHH'mm' — например
D:20231201090000Z для 09:00 UTC 1 декабря 2023 г. или
D:20260514103015+08'00' для 10:30:15 в UTC+08:00 (спецификация PDF 1.7,
раздел 7.9.4)
Строка пуста, когда Active равно False, когда документ
не объявляет Info-словарь или когда не была записана запись /CreationDate.
Большинство инструментов разработки фиксируют эту отметку времени в момент первого
создания PDF и затем оставляют без изменений; ModifiedDate отражает
последующие правки. Сравнение CreationDate и ModifiedDate — быстрый способ определить,
был ли PDF отредактирован после первоначального экспорта
Разбор строки даты требует удаления префикса D:, декодирования полей
фиксированной ширины и интерпретации завершающего смещения часового пояса (апостроф
является частью синтаксиса литерала). PDFium Delphi Component предоставляет необработанный текст,
чтобы вызывающие стороны могли применить предпочтительное преобразование: построить
TDateTime, отформатировать согласно региональным правилам или передать
в регулярное выражение / парсер, обрабатывающий различные усечения, используемые
производителями
Z (UTC), +HH'mm',
-HH'mm' или вовсе отсутствовать — отсутствие трактуется как
“локальное время, смещение неизвестно”/CreationDate,
идентичный /ModDate — не полагайтесь на различие между ними как
на доказательство редактированияDateTimeToStr, используя FormatSettings
var Created, Modified: WString;
Created := Pdf1.CreationDate;
Modified := Pdf1.ModifiedDate;
if (Created <> '') and (Created <> Modified) then
Log.Add('Document edited since creation');