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