PDFium Delphi Component Docs

InspectPdfAMetadata メソッド

コンポーネント: TPdf  ·  ユニット: PDFium
アクティブなドキュメントについて、ISO 19005-1 の Info と XMP の正確な等価性を報告します

構文

function InspectPdfAMetadata: TPdfAMetadataReport;

ResultXMP の可用性、解析エラーテキスト、不一致フィールド、および 8 項目のフィールドごとの比較を含む TPdfAMetadataReport

説明

このメソッドは Title、Author、Subject、Keywords、Creator、Producer、CreationDate、ModDate を PDFium 経由で読み取ります。そのため PDFDocEncoding と UTF-16 の文字列は、ライブのドキュメントと同じ Unicode デコードを使用します

生のディクショナリ検査は、各 Info キーの存在をその値とは独立に記録します。そのため明示的に空の文字列は、存在しないキーとして扱われません

Title と Subject は x-default タグ付きの rdf:Alt 値を要求し、Author はちょうど 1 つの値を含む rdf:Seq を要求します。その他のマッピングは、名前空間 URI とローカル名によって見つかる単純プロパティを要求します

テキスト値は Unicode コードポイントの完全一致で比較されます。日付は、どちらの値にもタイムゾーンがない場合はローカルコンポーネントとして、両方の値がタイムゾーンを持つ場合は UTC の時点として比較されます

TPdfAMetadataState は、要件外、等価、XMP なし、RDF 型不一致、値不一致、不正な Info 日付、不正な XMP 日付の各状態を区別します

このメソッドは読み取り専用であり、アクティブなドキュメントを要求し、PDFium やソースの状態を変更しません

例

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

関連項目

NormalizePdfAMetadata, ValidatePdfA, ReadXmpPacket, FPdfXmp