本文概述
PDF文档具有许多属性。这些属性提供与PDF文档有关的元数据信息。由于某些字段是可选的, 因此不能保证所有PDF文件都具有我们需要的所有元数据。
PDF文档包含以下属性-
文件名 | 它保存文件的名称。 |
Title | 用于设置PDF文档的标题。 |
Author | 用于设置PDF文档的作者名称。 |
Subject | 用于指定文档的主题。 |
Application | 用于设置文档的应用程序。 |
Keyword | 它用于创建关键字列表, 我们可以从中搜索文档。 |
Created | 它用于设置文档创建的日期。 |
Modified | 它用于设置文档的修改日期。 |
Producer | 用于设置文档的生产者名称。 |
PDFBox提供PDDocumentInformation类, 用于设置文档属性。此类具有一组setter和getter方法。 Setter方法用于设置文档属性的值, 而getter方法用于检索该值。
使用Setter()方法-
PDDocumentInformation类的重要Setter方法如下:
- setAuthor(String author)-此方法用于设置作者名称的值。
- setTitle(String title)-此方法用于设置PDF文档标题的值。
- setCreator(String creator)-此方法用于设置PDF文档的创建者的值。
- setSubject(String subject)-此方法用于设置用于指定PDF文档主题的值。
- setKeywords(String keyword list)-此方法用于设置关键字的值。
- setCreationDate(Calander date)-此方法用于设置创建PDF文档的值。
- setModificationDate(Calander date)-此方法用于设置PDF文档修改的值。
例-
本示例说明了如何向PDF文档添加诸如Author, Title, Date, Subject等属性。
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 DocumentProperties{
public static void main(String[] args)throws IOException {
//Creating PDF document object
PDDocument doc = new PDDocument();
//Creating a blank page
PDPage blankPage = new PDPage();
//Adding the blank page to the document
doc.addPage( blankPage );
//Creating the PDDocumentInformation object
PDDocumentInformation pdd = doc.getDocumentInformation();
//Setting the author of the document
pdd.setAuthor("srcmini");
// Setting the title of the document
pdd.setTitle("My Document");
//Setting the creator of the document
pdd.setCreator("SSSIT");
//Setting the subject of the document
pdd.setSubject("PDF Example");
//Setting the created date of the document
Calendar date = new GregorianCalendar();
date.set(2018, 5, 7);
pdd.setCreationDate(date);
//Setting the modified date of the document
date.set(2018, 6, 5);
pdd.setModificationDate(date);
//Setting keywords for the document
pdd.setKeywords("Java, example, my pdf");
//Setting Producer for the document
pdd.setProducer("srcmini02.com");
//Saving the document
doc.save("/eclipse-workspace/blank.pdf");
System.out.println("Properties added successfully to a PDF document.");
//Closing the document
doc.close();
}
}
输出
成功执行上述程序后, 它将从PDF文档中检索文本, 如以下输出所示。
使用getter()方法-
PDDocumentInformation类的重要获取方法如下:
- getAuthor()-此方法用于检索作者名称的值。
- getTitle()-此方法用于检索文档标题名称的值。
- getCreator()-此方法用于检索文档创建者名称的值。
- getSubject()-此方法用于检索PDF文档的”主题”名称的值。
- getKeyword()-此方法用于检索PDF文档的Keyword值。
- getCreationDate()-此方法用于检索PDF文档的创建日期的值。
- getModificationDate()-此方法用于检索PDF文档的修改日期的值。
例-
本示例说明了如何向PDF文档添加诸如Author, Title, Date, Subject等属性。
import java.io.File;
import java.io.IOException;
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.pdmodel.PDDocumentInformation;
public class DocumentProperties {
public static void main(String[] args)throws IOException {
//Loading an existing document
File file = new File("/eclipse-workspace/blanck.pdf");
PDDocument doc = PDDocument.load(file);
//Getting the PDDocumentInformation object
PDDocumentInformation pdd = doc.getDocumentInformation();
//Retrieving the info of a PDF document
System.out.println("Author of the PDF document is :"+ pdd.getAuthor());
System.out.println("Title of the PDF document is :"+ pdd.getTitle());
System.out.println("Subject of the document is :"+ pdd.getSubject());
System.out.println("Creator of the PDF document is :"+ pdd.getCreator());
System.out.println("Keywords of the PDF document are :"+ pdd.getKeywords());
System.out.println("Creation date of the PDF document is :"+ pdd.getCreationDate());
System.out.println("Modification date of the PDF document is :"+ pdd.getModificationDate());
//Closing the document
doc.close();
}
}
输出
成功执行上述程序后, 它将检索PDF文档的所有属性, 这些属性可以在以下输出中显示。
评论前必须登录!
注册