Trabalhar com metadados de arquivo PDF em Java
Contents
[
Hide
]
Aspose.PDF for Java oferece duas maneiras principais de trabalhar com metadados:
- A API DOM através
Document,DocumentInfo, edocument.getMetadata(). - A API de fachada através
PdfFileInfo.
Obter informações do arquivo PDF
Use este exemplo quando precisar ler campos padrão de informações do documento, como autor, título, assunto ou palavras‑chave.
- Abra o PDF de origem em um objeto Document.
- Acesse o objeto DocumentInfo.
- Leia os campos de metadados necessários e exiba seus valores.
public static void getPdfFileInformation(Path inputFile) {
try (Document document = new Document(inputFile.toString())) {
DocumentInfo docInfo = document.getInfo();
System.out.println("Author: " + docInfo.getAuthor());
System.out.println("Creation Date: " + docInfo.getCreationDate());
System.out.println("Keywords: " + docInfo.getKeywords());
System.out.println("Modify Date: " + docInfo.getModDate());
System.out.println("Subject: " + docInfo.getSubject());
System.out.println("Title: " + docInfo.getTitle());
}
}
Definir metadados com um prefixo de namespace
Use este exemplo quando precisar adicionar ou atualizar uma propriedade XMP usando um prefixo de namespace registrado.
- Abra o PDF de origem em um objeto Document.
- Registre o namespace XMP necessário e adicione o item de metadados.
- Salve o documento atualizado.
public static void setPrefixMetadata(Path inputFile, Path outputFile) {
try (Document document = new Document(inputFile.toString())) {
document.getMetadata().registerNamespaceUri("xmp", "http://ns.adobe.com/xap/1.0/");
document.getMetadata().addItem("xmp:ModifyDate", OffsetDateTime.now().toString());
document.save(outputFile.toString());
}
System.out.println("Prefix metadata saved to " + outputFile);
}
Atualizar campos de informações do documento
Use este exemplo quando quiser escrever propriedades padrão de arquivo PDF, como autor, título, produtor ou data de criação.
- Abra o PDF de origem em um objeto Document.
- Acesso DocumentInfo e atribua novos valores de metadados.
- Salve o documento com as informações de arquivo atualizadas.
public static void setFileInformation(Path inputFile, Path outputFile) {
try (Document document = new Document(inputFile.toString())) {
DocumentInfo docInfo = document.getInfo();
Date now = new Date();
docInfo.setAuthor("Aspose");
docInfo.setCreationDate(now);
docInfo.setKeywords("Aspose.Pdf, DOM, API");
docInfo.setModDate(now);
docInfo.setSubject("PDF Information");
docInfo.setTitle("Setting PDF Document Information");
docInfo.setProducer("Custom producer");
docInfo.setCreator("Custom creator");
document.save(outputFile.toString());
}
System.out.println("File information saved to " + outputFile);
}
Definir propriedades de metadados XMP
Use este exemplo quando precisar armazenar entradas XMP adicionais, incluindo valores de metadados personalizados.
- Abra o PDF de origem em um objeto Document.
- Adicione os itens de metadados XMP necessários através de
document.getMetadata(). - Salve o arquivo de saída.
public static void setXmpMetadata(Path inputFile, Path outputFile) {
try (Document document = new Document(inputFile.toString())) {
document.getMetadata().addItem("xmp:CreateDate", OffsetDateTime.now().toString());
document.getMetadata().addItem("xmp:Nickname", "Nickname");
document.getMetadata().addItem("xmp:CustomProperty", "Custom Value");
document.save(outputFile.toString());
}
System.out.println("XMP metadata saved to " + outputFile);
}