PDFBox处理元数据

本文概述

  • 使用Setter()方法-
  • 使用getter()方法-
PDF文档具有许多属性。这些属性提供与PDF文档有关的元数据信息。由于某些字段是可选的, 因此不能保证所有PDF文件都具有我们需要的所有元数据。
【PDFBox处理元数据】PDF文档包含以下属性-
文件名 它保存文件的名称。
Title 用于设置PDF文档的标题。
Author 用于设置PDF文档的作者名称。
Subject 用于指定文档的主题。
Application 用于设置文档的应用程序。
Keyword 它用于创建关键字列表, 我们可以从中搜索文档。
Created 它用于设置文档创建的日期。
Modified 它用于设置文档的修改日期。
Producer 用于设置文档的生产者名称。
PDFBox提供PDDocumentInformation类, 用于设置文档属性。此类具有一组setter和getter方法。 Setter方法用于设置文档属性的值, 而getter方法用于检索该值。
使用Setter()方法- PDDocumentInformation类的重要Setter方法如下:
  1. setAuthor(String author)-此方法用于设置作者名称的值。
  2. setTitle(String title)-此方法用于设置PDF文档标题的值。
  3. setCreator(String creator)-此方法用于设置PDF文档的创建者的值。
  4. setSubject(String subject)-此方法用于设置用于指定PDF文档主题的值。
  5. setKeywords(String keyword list)-此方法用于设置关键字的值。
  6. setCreationDate(Calander date)-此方法用于设置创建PDF文档的值。
  7. 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 objectPDDocument doc = new PDDocument(); //Creating a blank pagePDPage 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("srcmini.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文档中检索文本, 如以下输出所示。
PDFBox处理元数据

文章图片
使用getter()方法- PDDocumentInformation类的重要获取方法如下:
  1. getAuthor()-此方法用于检索作者名称的值。
  2. getTitle()-此方法用于检索文档标题名称的值。
  3. getCreator()-此方法用于检索文档创建者名称的值。
  4. getSubject()-此方法用于检索PDF文档的” 主题” 名称的值。
  5. getKeyword()-此方法用于检索PDF文档的Keyword值。
  6. getCreationDate()-此方法用于检索PDF文档的创建日期的值。
  7. 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 objectPDDocumentInformation pdd = doc.getDocumentInformation(); //Retrieving the info of a PDF documentSystem.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文档的所有属性, 这些属性可以在以下输出中显示。
PDFBox处理元数据

文章图片

    推荐阅读