Trabalhando com Metadados de Arquivo PDF

Obter Informações de Arquivo PDF

Para obter informações específicas de arquivo sobre um arquivo PDF, primeiro obtenha o objeto DocumentInfo usando a classe Document getInfo(). Uma vez que o objeto DocumentInfo é recuperado, você pode obter os valores das propriedades individuais.

O seguinte trecho de código mostra como definir informações de arquivo PDF.

public class ExampleMetadata {

    private static String _dataDir = "/home/aspose/pdf-examples/Samples/Metadata/";

    public static void GetPDFFileInformation() {
        // Criar um novo documento PDF
        Document pdfDocument = new Document(_dataDir + "sample.pdf");
        // Obter informações do documento
        DocumentInfo docInfo = pdfDocument.getInfo();
        // Mostrar informações do documento
        System.out.println("Autor: " + docInfo.getAuthor());
        System.out.println("Data de Criação: " + docInfo.getCreationDate());
        System.out.println("Palavras-chave: " + docInfo.getKeywords());
        System.out.println("Data de Modificação: " + docInfo.getModDate());
        System.out.println("Assunto: " + docInfo.getSubject());
        System.out.println("Título: " + docInfo.getTitle());
    }

Definir Informações do Arquivo PDF

Aspose.PDF para Java permite que você defina informações específicas para um arquivo PDF, como autor, data de criação, assunto e título.

Para definir esta informação:

  1. Crie um objeto DocumentInfo.
  2. Defina os valores das propriedades.
  3. Salve o documento atualizado usando o método save() da classe Document.

O seguinte trecho de código mostra como definir informações do arquivo PDF.

 public static void SetPDFFileInformation() {
        // Abrir documento
        Document pdfDocument = new Document(_dataDir + "sample.pdf");

        // Especificar informações do documento
        DocumentInfo docInfo = new DocumentInfo(pdfDocument);

        docInfo.setAuthor("Aspose");
        docInfo.setCreationDate(new java.util.Date());
        docInfo.setKeywords("Aspose.Pdf, DOM, API");
        docInfo.setModDate(new java.util.Date());
        docInfo.setSubject("Informações do PDF");
        docInfo.setTitle("Definindo Informações do Documento PDF");

        // Salvar documento de saída
        pdfDocument.save(_dataDir + "SetFileInfo_out.pdf");
    }

Obter Metadados XMP de um Arquivo PDF

Aspose.PDF para Java permite que você acesse os metadados XMP de um arquivo PDF.

Para obter os metadados de um arquivo PDF,

  1. Crie um objeto Document e abra o arquivo PDF de entrada.
  2. Use a propriedade getMetadata() para obter os metadados.

O seguinte trecho de código mostra como obter metadados do arquivo PDF.

   public static void GetXMPMetadata() {

        // Abrir documento
        Document pdfDocument = new Document(_dataDir + "SetXMPMetadata.pdf");

        System.out.println("xmp:CreateDate: " + pdfDocument.getMetadata().get_Item("xmp:CreateDate"));
        System.out.println("xmp:Nickname: " + pdfDocument.getMetadata().get_Item("xmp:Nickname"));
        System.out.println("xmp:CustomProperty: " + pdfDocument.getMetadata().get_Item("xmp:CustomProperty"));

    }

Definir Metadados XMP em um Arquivo PDF

Aspose.PDF para Java permite que você defina metadados em um arquivo PDF. Para definir metadados:

  1. Crie um objeto Document.
  2. Defina os valores de metadados usando a propriedade getMetadata().
  3. Salve o documento atualizado usando o método save() do objeto Document.

O trecho de código a seguir mostra como definir metadados em um arquivo PDF.

    public static void SetXMPMetadata() {

        // Abrir documento
        Document pdfDocument = new Document(_dataDir + "sample.pdf");

        // Definir propriedades
        pdfDocument.getMetadata().set_Item("xmp:CreateDate", new XmpValue(new java.util.Date()));
        pdfDocument.getMetadata().set_Item("xmp:Nickname", new XmpValue("Nickname"));
        pdfDocument.getMetadata().set_Item("xmp:CustomProperty", new XmpValue("Custom Value"));

        // Salvar documento
        pdfDocument.save(_dataDir + "SetXMPMetadata.pdf");
    }

Inserir Metadados com Prefixo

Alguns desenvolvedores precisam criar um novo namespace de metadados com um prefixo. O trecho de código a seguir mostra como inserir metadados com prefixo.

    public static void InsertMetadataWithPrefix() {
        // Abrir documento
        Document pdfDocument = new Document(_dataDir + "SetXMPMetadata.pdf");
        pdfDocument.getMetadata().registerNamespaceUri("adc", "http://tempuri.org/adc/1.0");
        pdfDocument.getMetadata().set_Item("adc:format", new XmpValue("application/pdf"));
        pdfDocument.getMetadata().set_Item("adc:title", new XmpValue("alternative title"));        
        // Salvar documento
        pdfDocument.save(_dataDir + "SetPrefixMetadata_out.pdf");
    }
}