property CreationDate: WString; // 只读
CreationDate 会将文档 Information 字典中的 /CreationDate 条目(PDF 1.7 规范 §14.3.3)作为原始 PDF 日期字面量返回。其值的格式为 D:YYYYMMDDHHmmSSOHH'mm' —— 例如,D:20231201090000Z 表示 2023 年 12 月 1 日 UTC 09:00,D:20260514103015+08'00' 表示 UTC+08:00 的 10:30:15(PDF 1.7 规范 §7.9.4)。
当 Active 为 False、文档未声明 Info 字典,或者未写入 /CreationDate 条目时,该字符串为空。大多数创作工具会在 PDF 首次生成时记录这个时间戳,然后保持不变;ModifiedDate 则反映后续编辑。将 CreationDate 与 ModifiedDate 进行比较,是判断 PDF 自初次导出后是否被编辑过的快捷方法。
解析日期字符串时,需要去掉 D: 前缀,解码固定宽度字段,然后解释末尾的时区偏移量(撇号是字面语法的一部分)。PDFiumPas 暴露原始文本,以便调用者按自己的偏好进行转换:构造 TDateTime、按区域设置格式化,或者交给能处理不同截断形式的正则表达式 / 解析器。
Z(UTC)、+HH'mm'、-HH'mm',也可以完全缺失 —— 缺失时应视为“本地时间,偏移量未知”。/ModDate 相同的 /CreationDate —— 不要把二者的差异当作已编辑的证明。FormatSettings 配合 DateTimeToStr 格式化。
var Created, Modified: WString;
Created := Pdf1.CreationDate;
Modified := Pdf1.ModifiedDate;
if (Created <> '') and (Created <> Modified) then
Log.Add('Document edited since creation');