歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> 使用PDFBox處理PDF文檔

使用PDFBox處理PDF文檔

日期:2017/2/28 14:30:35   编辑:Linux教程

1、使用PDFBox處理PDF文檔

PDF全稱Portable Document Format,是Adobe公司開發的電子文件格式。這種文件格式與操作系統平台無關,可以在Windows、Unix或Mac OS等操作系統上通用。

PDF文件格式將文字、字型、格式、顏色及獨立於設備和分辨率的圖形圖像等封裝在一個文件中。如果要抽取其中的文本信息,需要根據它的文件格式來進行解析。幸好目前已經有不少工具能幫助我們做這些事情。

2、PDFBox的下載

最常見的一種PDF文本抽取工具就是PDFBox了,訪問網址http://sourceforge.net/projects/pdfbox/,進入下載界面。讀者可以在該網頁下載其最新的版本。本文采用的是PDFBox-0.7.3版本。PDFBox是一個開源的Java PDF庫,這個庫允許你訪問PDF文件的各項信息。在接下來的例子中,將演示如何使用PDFBox提供的API,從一個PDF文件中提取出文本信息。

3、在Eclipse中配置

以下是在Eclipse中創建工程,並建立解析PDF文件的工具類的過程。

(1)在Eclipse的workspace中創建一個普通的Java工程:ch7。

(2)把下載的PDFBox-0.7.3.zip解壓。

(3)進入external目錄下,可以看到,這裡包括了PDFBox所有用到的外部包。復制下面的Jar包到工程ch7的lib目錄下(如還未建立lib目錄,則先創建一個)。

l bcmail-jdk14-132.jar

l bcprov-jdk14-132.jar

l checkstyle-all-4.2.jar

l FontBox-0.1.0-dev.jar

l lucene-core-2.0.0.jar

然後再從PDFBox的lib目錄下,復制PDFBox-0.7.3.jar到工程的lib目錄下。

(4)在工程上單擊右鍵,在彈出的快捷菜單中選擇“Build Path->Config Build Path->Add Jars”命令,把工程lib目錄下面的包都加入工程的Build Path。

4、使用PDFBox解析PDF內容

在剛剛創建的Eclipse工程中,創建一個ch7.pdfbox包,並創建一個PdfboxTest類。該類包含一個getText方法,用於從一個PDF中獲取文本信息,其代碼如下。
import java.io.BufferedWriter;
import java.io.FileInputStream;
import java.io.FileWriter;

import org.pdfbox.pdfparser.PDFParser;
import org.pdfbox.util.PDFTextStripper;


public class PdfParser {

/**
* @param args
*/
// TODO 自動生成方法存根

public static void main(String[] args) throws Exception{
FileInputStream fis = new FileInputStream("F:\\task\\lerman-atem2001.pdf");
BufferedWriter writer = new BufferedWriter(new FileWriter("F:\\task\\pdf_change.txt"));
PDFParser p = new PDFParser(fis);
p.parse();
PDFTextStripper ts = new PDFTextStripper();
String s = ts.getText(p.getPDDocument());
writer.write(s);
System.out.println(s);
fis.close();
writer.close();

}
}

更多詳情見請繼續閱讀下一頁的精彩內容: http://www.linuxidc.com/Linux/2014-06/103584p2.htm

Copyright © Linux教程網 All Rights Reserved