PDFiumPas 文件

InspectPdfAMetadata 方法

元件: TPdf  ·  單元: PDFium
回報作用中文件的 Info 與 XMP 是否完全符合 ISO 19005-1 的對等要求

Syntax

function InspectPdfAMetadata: TPdfAMetadataReport;

ResultTPdfAMetadataReport,包含 XMP 可用性、解析錯誤文字、不符欄位,以及八項逐欄位比較

Description

此方法透過 PDFium 讀取 Title、Author、Subject、Keywords、Creator、Producer、CreationDate 與 ModDate,因此 PDFDocEncoding 與 UTF-16 字串都使用與作用中文件相同的 Unicode 解碼方式

原始字典檢查會分別記錄每個 Info 鍵是否存在與其值為何,因此明確的空字串不會被視為缺少的鍵

Title 與 Subject 需要標記為 x-default 的 rdf:Alt 值;Author 需要恰好含一個值的 rdf:Seq;其他對應則需要能以命名空間 URI 與本機名稱找到的簡單屬性

文字值以精確的 Unicode 碼位比較;日期在兩個值都沒有時區時以本地元件比較,在兩個值都帶有時區時以 UTC 時刻比較

TPdfAMetadataState 區分不需要、對等、缺少 XMP、RDF 類型錯誤、值不符、Info 日期無效與 XMP 日期無效等狀態

此方法為唯讀,要求存在作用中文件,且不會修改 PDFium 或來源狀態

Example

var Report: TPdfAMetadataReport;
Report := Pdf1.InspectPdfAMetadata;
if Report.HasXmpPacket and not Report.IsEquivalent then
  ShowMessage(IntToStr(Length(Report.Comparisons)) + ' fields inspected');

See Also

NormalizePdfAMetadata, ValidatePdfA, ReadXmpPacket, FPdfXmp