PDF properties, as a part of a PDF document, are not shown on a page. Those properties contain information on documents, including title, author, subject, keywords, creation date, and creator. Some of the property values will not be produced automatically, and we have to set them by ourselves. This article will show you how to set or retrieve PDF properties programmatically using Spire.PDF for Java.
Install Spire.PDF for Java
First of all, you're required to add the Spire.Pdf.jar file as a dependency in your Java program. The JAR file can be downloaded from this link. If you use Maven, you can easily import the JAR file in your application by adding the following code to your project's pom.xml file.
<repositories> <repository> <id>com.e-iceblue</id> <name>e-iceblue</name> <url>https://repo.e-iceblue.com/nexus/content/groups/public/</url> </repository> </repositories> <dependencies> <dependency> <groupId>e-iceblue</groupId> <artifactId>spire.pdf</artifactId> <version>10.11.2</version> </dependency> </dependencies>
Set Properties of a PDF Document in Java
The detailed steps of setting PDF properties are as follows.
- Create an object of PdfDocument class.
- Load a PDF document from disk using PdfDocument.loadFromFile() method.
- Set document properties including title, author, subject, keywords, creation date, modification date, creator, and producer using the methods under DocumentInformation object returned by PdfDocument.getDocumentInformation() method.
- Save the document using PdfDocument.saveToFile() method.
- Java
import com.spire.pdf.*; import java.util.Date; public class setPDFProperties { public static void main(String[] args) { //Create an object of PdfDocument PdfDocument pdfDocument = new PdfDocument(); //Load a PDF document from disk pdfDocument.loadFromFile("D:/Samples/Sample.pdf"); //Set the title pdfDocument.getDocumentInformation().setTitle("PDF(Portable Document Format)"); //Set the author pdfDocument.getDocumentInformation().setAuthor("John"); //Set the subject pdfDocument.getDocumentInformation().setSubject("Introduction of PDF"); //Set the keywords pdfDocument.getDocumentInformation().setKeywords("PDF, document format"); //Set the creation time pdfDocument.getDocumentInformation().setCreationDate(new Date()); //Set the creator name pdfDocument.getDocumentInformation().setCreator("John"); //Set the modification time pdfDocument.getDocumentInformation().setModificationDate(new Date()); //Set the producer name pdfDocument.getDocumentInformation().setProducer("Spire.PDF for Java"); //Save the document pdfDocument.saveToFile("output/setPDFProperties.pdf"); } }
Get Properties of a PDF Document in Java
The detailed steps of retrieving PDF properties are as follows.
- Create an object of PdfDocument class.
- Load a PDF document from disk using PdfDocument.loadFromFile() method.
- Create a StringBuilder instance to store the values of document properties.
- Get properties using the methods under DocumentInformation object returned by PdfDocument.getDocumentInformation() method and put them in the StringBuilder.
- Create a new TXT file using File.createNewFile() method.
- Write the StringBuilder to the TXT file using BufferedWriter.write() method.
- Java
import com.spire.pdf.*; import java.io.*; public class getPDFProperties { public static void main(String[] args) throws IOException { //Create an object of PdfDocument class PdfDocument pdf = new PdfDocument(); //Load a PDF document from disk pdf.loadFromFile("D:/Samples/Sample.pdf"); //Create a StringBuilder instance to store the values of document properties StringBuilder stringBuilder = new StringBuilder(); //Retrieve property values and put them in the StringBuilder stringBuilder.append("Title: " + pdf.getDocumentInformation().getTitle() + "\r\n"); stringBuilder.append("Author: " + pdf.getDocumentInformation().getAuthor() + "\r\n"); stringBuilder.append("Subject: " + pdf.getDocumentInformation().getSubject() + "\r\n"); stringBuilder.append("Keywords: " + pdf.getDocumentInformation().getKeywords() + "\r\n"); stringBuilder.append("Creator: " + pdf.getDocumentInformation().getCreator() + "\r\n"); stringBuilder.append("Creation Date: " + pdf.getDocumentInformation().getCreationDate() + "\r\n"); stringBuilder.append("Producer: " + pdf.getDocumentInformation().getProducer() + "\r\n"); //Create a new TXT file File file = new File("D:/output/getPDFProperties.txt"); file.createNewFile(); //Write the StringBuilder to the TXT file FileWriter fileWriter = new FileWriter(file, true); BufferedWriter bufferedWriter = new BufferedWriter(fileWriter); bufferedWriter.write(stringBuilder.toString()); bufferedWriter.flush(); } }
Apply for a Temporary License
If you'd like to remove the evaluation message from the generated documents, or to get rid of the function limitations, please request a 30-day trial license for yourself.