PDFium Delphi Component Docs

Método InspectPdfAMetadata

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

Syntax

function InspectPdfAMetadata: TPdfAMetadataReport;

ResultTPdfAMetadataReport com a disponibilidade de XMP, o texto do erro de análise, os campos em desconformidade e oito comparações por campo

Description

O método lê Title, Author, Subject, Keywords, Creator, Producer, CreationDate e ModDate através do PDFium, de modo a que as cadeias em PDFDocEncoding e UTF-16 usem a mesma descodificação Unicode do documento em uso

A inspeção do dicionário bruto regista se cada chave Info existe independentemente do seu valor, pelo que uma cadeia explicitamente vazia não é tratada como chave ausente

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

Os valores de texto comparam-se por pontos de código Unicode exatos; as datas comparam-se como componentes locais quando nenhum dos valores tem fuso horário, ou como instantes UTC quando ambos os valores transportam fuso horário

TPdfAMetadataState distingue os estados de não exigido, equivalente, XMP em falta, tipo RDF errado, valor em desconformidade, data Info inválida e data XMP inválida

O método é apenas de leitura, exige um documento ativo e não altera 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