PDFium Delphi Component Docs

InspectPdfAMetadata Método

Componente: TPdf  ·  Unidade: PDFium
Relata a equivalência exata Info-to-XMP da ISO 19005-1 para o documento ativo

Syntax

function InspectPdfAMetadata: TPdfAMetadataReport;

ResultTPdfAMetadataReport contendo a disponibilidade de XMP, o texto de erro de análise, os campos de divergência e oito comparações por campo

Description

O método lê Title, Author, Subject, Keywords, Creator, Producer, CreationDate e ModDate por meio do PDFium, de modo que strings em PDFDocEncoding e UTF-16 usem a mesma decodificação Unicode do documento ativo

A inspeção bruta do dicionário registra se cada chave de Info existe de forma independente do seu valor, de modo que uma string explicitamente vazia não é tratada como chave ausente

Title e Subject exigem um valor rdf:Alt com a tag x-default; Author exige um rdf:Seq contendo exatamente um valor; os demais mapeamentos exigem uma propriedade simples encontrada pelo URI de namespace e pelo nome local

Valores de texto são comparados por pontos de código Unicode exatos; datas são comparadas como componentes locais quando nenhum dos valores tem fuso horário, ou como instantes UTC quando ambos os valores carregam fuso horário

TPdfAMetadataState distingue os estados não exigido, equivalente, XMP ausente, tipo RDF incorreto, valor divergente, data de Info inválida e data de XMP inválida

O método é somente leitura, exige um documento ativo e não modifica o estado do PDFium nem da origem

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