function ReadXmpPacket: TPdfXmpPacket;
| Result | TPdfXmpPacket. Pacote analisado pertencente ao chamador, que o deve libertar. Os namespaces e as propriedades ficam vazios quando o documento não transporta XMP |
O XMP é o fluxo de metadados RDF/XML que um PDF transporta junto com o dicionário de informação do documento; o PDF/A, o PDF/X, o PDF/UA e o PDF/VT registam ali as respetivas declarações de conformidade. O objeto devolvido expõe namespaces e propriedades em vez de XML em bruto, com TryGetSimpleValue, SetSimpleValue, SetArrayValues e SetLanguageAlternative para edição
O pacote é lido a partir dos bytes originais do ficheiro quando estão disponíveis e, caso contrário, a partir de uma serialização nova do documento ativo, pelo que reflete o documento tal como atualmente está. Durante o carregamento progressivo, em que nenhuma das fontes está completa, a chamada levanta EPdfError em vez de devolver meio pacote
Escreva de volta um pacote editado com SaveAsWithXmpPacket. O dicionário de informação do documento é separado e acede-se através de Metadata e MetaText
var Packet: TPdfXmpPacket;
var Value: TPdfXmpString;
Packet := Pdf.ReadXmpPacket;
try
if Packet.TryGetSimpleValue('http://purl.org/dc/elements/1.1/',
'title', Value) then
ShowMessage(Value);
finally
Packet.Free;
end;