PDFBox - Propriedades do Documento

Como outros arquivos, um documento PDF também possui propriedades de documento. Essas propriedades são pares de valores-chave. Cada propriedade fornece informações específicas sobre o documento.

A seguir estão as propriedades de um documento PDF -

S.No. Descrição da Propriedade
1

File

Esta propriedade contém o nome do arquivo.

2

Title

Usando esta propriedade, você pode definir o título do documento.

3

Author

Usando esta propriedade, você pode definir o nome do autor do documento.

4

Subject

Usando esta propriedade, você pode especificar o assunto do documento PDF.

5

Keywords

Usando esta propriedade, você pode listar as palavras-chave com as quais podemos pesquisar o documento.

6

Created

Usando esta propriedade, você pode definir a data de criação do documento.

7

Modified

Usando esta propriedade, você pode definir a data de modificação do documento.

8

Application

Usando esta propriedade, você pode definir a Aplicação do documento.

A seguir está uma captura de tela da tabela de propriedades do documento de um documento PDF.

Definir as propriedades do documento

PDFBox oferece uma classe chamada PDDocumentInformation. Essa classe possui um conjunto de métodos setter e getter.

Os métodos setter desta classe são usados ​​para definir valores para várias propriedades de um documento e métodos getter que são usados ​​para recuperar esses valores.

A seguir estão os métodos de setter do PDDocumentInformation classe.

S.No. Método e Descrição
1

setAuthor(String author)

Este método é usado para definir o valor da propriedade do documento PDF denominado Author.

2

setTitle(String title)

Este método é usado para definir o valor da propriedade do documento PDF denominado Title.

3

setCreator(String creator)

Este método é usado para definir o valor da propriedade do documento PDF denominado Creator.

4

setSubject(String subject)

Este método é usado para definir o valor da propriedade do documento PDF denominado Subject.

5

setCreationDate(Calendar date)

Este método é usado para definir o valor da propriedade do documento PDF denominado CreationDate.

6

setModificationDate(Calendar date)

Este método é usado para definir o valor da propriedade do documento PDF denominado ModificationDate.

7

setKeywords(String keywords list)

Este método é usado para definir o valor da propriedade do documento PDF denominado Keywords.

Exemplo

PDFBox fornece uma classe chamada PDDocumentInformatione essa classe fornece vários métodos. Esses métodos podem definir várias propriedades para o documento e recuperá-las.

Este exemplo demonstra como adicionar propriedades como Author, Title, Date, and Subjectpara um documento PDF. Aqui, criaremos um documento PDF chamadodoc_attributes.pdf, adicione vários atributos a ele e salve-o no caminho C:/PdfBox_Examples/. Salve este código em um arquivo com o nomeAddingAttributes.java.

import java.io.IOException; 
import java.util.Calendar; 
import java.util.GregorianCalendar;
  
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.pdmodel.PDDocumentInformation;
import org.apache.pdfbox.pdmodel.PDPage;

public class AddingDocumentAttributes {
   public static void main(String args[]) throws IOException {

      //Creating PDF document object
      PDDocument document = new PDDocument();

      //Creating a blank page
      PDPage blankPage = new PDPage();
       
      //Adding the blank page to the document
      document.addPage( blankPage );

      //Creating the PDDocumentInformation object 
      PDDocumentInformation pdd = document.getDocumentInformation();

      //Setting the author of the document
      pdd.setAuthor("Tutorialspoint");
       
      // Setting the title of the document
      pdd.setTitle("Sample document"); 
       
      //Setting the creator of the document 
      pdd.setCreator("PDF Examples"); 
       
      //Setting the subject of the document 
      pdd.setSubject("Example document"); 
       
      //Setting the created date of the document 
      Calendar date = new GregorianCalendar();
      date.set(2015, 11, 5); 
      pdd.setCreationDate(date);
      //Setting the modified date of the document 
      date.set(2016, 6, 5); 
      pdd.setModificationDate(date); 
       
      //Setting keywords for the document 
      pdd.setKeywords("sample, first example, my pdf"); 
 
      //Saving the document 
      document.save("C:/PdfBox_Examples/doc_attributes.pdf");

      System.out.println("Properties added successfully ");
       
      //Closing the document
      document.close();

   }
}

Compile e execute o arquivo Java salvo no prompt de comando usando os comandos a seguir.

javac AddingAttributes.java 
java AddingAttributes

Após a execução, o programa acima adiciona todos os atributos especificados ao documento exibindo a seguinte mensagem.

Properties added successfully

Agora, se você visitar o caminho fornecido, poderá encontrar o PDF criado nele. Clique com o botão direito no documento e selecione a opção de propriedades do documento conforme mostrado abaixo.

Isso lhe dará a janela de propriedades do documento e aqui você pode observar que todas as propriedades do documento foram definidas para os valores especificados.

Recuperando as Propriedades do Documento

Você pode recuperar as propriedades de um documento usando o getter métodos fornecidos pelo PDDocumentInformation classe.

A seguir estão os métodos getter do PDDocumentInformation classe.

S.No. Método e Descrição
1

getAuthor()

Este método é usado para recuperar o valor da propriedade do documento PDF denominado Author.

2

getTitle()

Este método é usado para recuperar o valor da propriedade do documento PDF denominado Title.

3

getCreator()

Este método é usado para recuperar o valor da propriedade do documento PDF denominado Creator.

4

getSubject()

Este método é usado para recuperar o valor da propriedade do documento PDF denominado Subject.

5

getCreationDate()

Este método é usado para recuperar o valor da propriedade do documento PDF denominado CreationDate.

6

getModificationDate()

Este método é usado para recuperar o valor da propriedade do documento PDF denominado ModificationDate.

7

getKeywords()

Este método é usado para recuperar o valor da propriedade do documento PDF denominado Keywords.

Exemplo

Este exemplo demonstra como recuperar as propriedades de um documento PDF existente. Aqui, criaremos um programa Java e carregaremos o documento PDF chamadodoc_attributes.pdf, que é salvo no caminho C:/PdfBox_Examples/e recupere suas propriedades. Salve este código em um arquivo com o nomeRetrivingDocumentAttributes.java.

import java.io.File; 
import java.io.IOException;

import org.apache.pdfbox.pdmodel.PDDocument; 
import org.apache.pdfbox.pdmodel.PDDocumentInformation;

public class RetrivingDocumentAttributes {
   public static void main(String args[]) throws IOException {
      
      //Loading an existing document 
      File file = new File("C:/PdfBox_Examples/doc_attributes.pdf")
      PDDocument document = PDDocument.load(file);
      //Getting the PDDocumentInformation object
      PDDocumentInformation pdd = document.getDocumentInformation();

      //Retrieving the info of a PDF document
      System.out.println("Author of the document is :"+ pdd.getAuthor());
      System.out.println("Title of the document is :"+ pdd.getTitle());
      System.out.println("Subject of the document is :"+ pdd.getSubject());

      System.out.println("Creator of the document is :"+ pdd.getCreator());
      System.out.println("Creation date of the document is :"+ pdd.getCreationDate());
      System.out.println("Modification date of the document is :"+ 
         pdd.getModificationDate()); 
      System.out.println("Keywords of the document are :"+ pdd.getKeywords()); 
       
      //Closing the document 
      document.close();        
   }  
}

Compile e execute o arquivo Java salvo no prompt de comando usando os comandos a seguir.

javac RetrivingDocumentAttributes.java 
java RetrivingDocumentAttributes

Após a execução, o programa acima recupera todos os atributos do documento e os exibe conforme mostrado abaixo.

Author of the document is :Tutorialspoint 
Title of the document is :Sample document 
Subject of the document is :Example document 
Creator of the document is :PDF Examples 
Creation date of the document is :11/5/2015
Modification date of the document is :6/5/2016
Keywords of the document are :sample, first example, my pdf