RepairDocumentMetadata
元数据
描述
使文档信息字典和 XMP 数据包保持一致,并完成所声明标准所需的标识
语法
Delphi
Function TPDFlib.RepairDocumentMetadata: Integer;返回值
| Count | 已修复的条目数 |
|---|---|
| 0 | 两部分内容已一致,且没有缺失项 |
备注
PDF 会两次说明其作者:一次在文档信息字典中,一次在 XMP 数据包中,验证器会读取两者并拒绝不一致的文件,而在这一点失败的大多数文件只是从未写入 XMP 部分
信息字典被视为文档'自身的表述,因为几乎每个生成器都会设置这一半。仅当 XMP 部分带有值时,信息字典才会从中填充,因此不会丢弃已记录的内容。涵盖标题、作者、主题、关键字、创建者、生成器和两个日期
当文档通过 SetPDFAMode 设置为 PDF/A 模式时,若标准标识缺失,库会恢复它 — 调用方使用 SetDocumentMetadata 提供自己的数据包时便会发生这种情况。没有该标识,验证器会将文件视为普通 PDF 并报告所声明部分的全部规则均未满足。从文件打开的文档没有自身模式,因此若文件应声明一种模式,请先调用 SetPDFAMode
该数据包也被标示为描述 PDF,验证器会对此进行检查
示例
PDF.LoadFromFile('report.pdf', '');
Repaired := PDF.RepairDocumentMetadata;
PDF.SaveToFile('report-fixed.pdf');