PDFBox 处理元数据
PDFBox 处理元数据
PDF 文档有许多属性。这些属性提供与 PDF 文档相关的元数据信息。由于某些字段是可选的,因此无法保证所有 PDF 文件都包含我们需要的所有元数据。
PDF 文档包含以下属性:
文档名称 | 描述 |
---|---|
Title | 它用于设置 PDF 文档的标题。 |
Author | 用于设置PDF文档的作者姓名。 |
Subject | 它用于指定文档的主题。 |
Application | 它用于设置文档的应用程序。 |
Keyword | 它用于创建关键字列表,我们可以从中搜索文档。 |
Created | 它用于设置创建文档的日期。 |
Modified | 用于设置文档的修改日期。 |
Producer | 用于设置文档的生产者名称。 |
PDFBox 提供了用于设置文档属性的PDDocumentInformation 类。这个类有一套setter和getter方法。setter 方法用于设置文档属性的值,getter 方法用于检索该值。
PDDocumentInformation Setter() 方法
PDDocumentInformation 类的重要 Setter 方法如下:
- setAuthor(String author):此方法用于设置作者姓名的值。
- setTitle(String title):此方法用于设置 PDF 文档标题的值。
- setCreator(String creator):此方法用于设置PDF 文档创建者的值。
- setSubject(String subject):此方法用于设置指定PDF 文档主题的值。
- setKeywords(String Keywords list):该方法用于设置关键字的值。
- setCreationDate(Calander date):此方法用于设置创建PDF 文档的值。
- setModificationDate(Calander date):该方法用于设置PDF文档的修改值。
PDDocumentInformation Setter() 方法 示例
此示例说明如何向 PDF 文档添加作者、标题、日期、主题等属性。
package com.yiidian;
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.pdmodel.PDDocumentInformation;
import org.apache.pdfbox.pdmodel.PDPage;
import java.io.IOException;
import java.util.Calendar;
import java.util.GregorianCalendar;
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("yiidian");
// 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("yiidian.com");
//Saving the document
doc.save("d:/blank.pdf");
System.out.println("Properties added successfully to a PDF document.");
//Closing the document
doc.close();
}
}
成功执行上述程序后,它将从 PDF 文档中检索文本,如下面的输出所示。
PDDocumentInformation getter() 方法
PDDocumentInformation类的重要getter方法如下:
- getAuthor() :此方法用于检索Author name的值。
- getTitle() :此方法用于检索文档Title name的值。
- getCreator():该方法用于检索文档Creator name的值。
- getSubject() :此方法用于检索PDF 文档的主题名称的值。
- getKeyword():此方法用于检索PDF 文档的Keyword值。
- getCreationDate():此方法用于检索PDF 文档的创建日期值。
- getModificationDate() :此方法用于检索PDF 文档的修改日期值。
PDDocumentInformation getter() 方法示例
此示例说明如何向 PDF 文档添加作者、标题、日期、主题等属性。
package com.yiidian;
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.pdmodel.PDDocumentInformation;
import java.io.File;
import java.io.IOException;
public class DocumentProperties {
public static void main(String[] args) throws IOException {
//Loading an existing document
File file = new File("d:/blank.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 文档的所有属性,这些属性可以显示在以下输出中。
热门文章
优秀文章