使用pdfbox處理pdf文檔

使用pdfbox處理pdf文檔

ID:6037127

大?。?7.50 KB

頁數(shù):10頁

時(shí)間:2017-12-31

使用pdfbox處理pdf文檔_第1頁
使用pdfbox處理pdf文檔_第2頁
使用pdfbox處理pdf文檔_第3頁
使用pdfbox處理pdf文檔_第4頁
使用pdfbox處理pdf文檔_第5頁
資源描述:

《使用pdfbox處理pdf文檔》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。

1、使用PDFBox處理PDF文檔在本書的前面所介紹的內(nèi)容中,所處理的都是純文本文件。但是事實(shí)上,人們用于保存信息的文件并不是純文本格式。現(xiàn)在比較流行的文件存儲(chǔ)格式有Adobe公司的PDF和Microsoft的Word、Excel等。在處理這些文件的時(shí)候,不能簡單的從文件讀取字符,需要根據(jù)他們特殊的格式提取內(nèi)容。本章就將對(duì)比較流行的PDF、Word和Excel格式的處理工具逐一進(jìn)行介紹。7.1?使用PDFBox處理PDF文檔PDF全稱PortableDocumentFormat,是Adobe公司開發(fā)的電子文件格式。這種文件格式與操作

2、系統(tǒng)平臺(tái)無關(guān),可以在Windows、Unix或MacOS等操作系統(tǒng)上通用。PDF文件格式將文字、字型、格式、顏色及獨(dú)立于設(shè)備和分辨率的圖形圖像等封裝在一個(gè)文件中。如果要抽取其中的文本信息,需要根據(jù)它的文件格式來進(jìn)行解析。幸好目前已經(jīng)有不少工具能幫助我們做這些事情。7.1.1?PDFBox的下載最常見的一種PDF文本抽取工具就是PDFBox了,訪問網(wǎng)址http://sourceforge.net/projects/pdfbox/,進(jìn)入如圖7-1所示的下載界面。圖7-1?PDFBox的下載頁面讀者可以在該網(wǎng)頁下載其最新的版本。本書采

3、用的是PDFBox-0.7.3版本。PDFBox是一個(gè)開源的JavaPDF庫,這個(gè)庫允許你訪問PDF文件的各項(xiàng)信息。在接下來的例子中,將演示如何使用PDFBox提供的API,從一個(gè)PDF文件中提取出文本信息。7.1.2?在Eclipse中配置以下是在Eclipse中創(chuàng)建工程,并建立解析PDF文件的工具類的過程。(1)在Eclipse的workspace中創(chuàng)建一個(gè)普通的Java工程:ch7。(2)把下載的PDFBox-0.7.3.zip解壓,解壓后的目錄結(jié)構(gòu)如圖7-2所示。圖7-2?解壓后的PDFBox包(3)進(jìn)入external

4、目錄下,可以看到,這里包括了PDFBox所有用到的外部包。復(fù)制下面的Jar包到工程ch7的lib目錄下(如還未建立lib目錄,則先創(chuàng)建一個(gè))。l?bcmail-jdk14-132.jarl?bcprov-jdk14-132.jarl?checkstyle-all-4.2.jarl?FontBox-0.1.0-dev.jarl?lucene-core-2.0.0.jar然后再從PDFBox的lib目錄下,復(fù)制PDFBox-0.7.3.jar到工程的lib目錄下。(4)在工程上單擊右鍵,在彈出的快捷菜單中選擇“BuildPath->

5、ConfigBuildPath->AddJars”命令,把工程lib目錄下面的包都加入工程的BuildPath。筆者機(jī)器上完整的工程目錄如圖7-3所示:圖7-3?工程截圖7.1.3?使用PDFBox解析PDF內(nèi)容在剛剛創(chuàng)建的Eclipse工程中,創(chuàng)建一個(gè)ch7.pdfbox包,并創(chuàng)建一個(gè)PdfboxTest類。該類包含一個(gè)getText方法,用于從一個(gè)PDF中獲取文本信息,其代碼如下。代碼7.1publicvoidgeText(Stringfile)throwsException{//是否排序??booleansort=fals

6、e;//pdf文件名??StringpdfFile=file;//輸入文本文件名稱??StringtextFile=null;//編碼方式??Stringencoding="UTF-8";//開始提取頁數(shù)??intstartPage=1;//結(jié)束提取頁數(shù)??intendPage=Integer.MAX_VALUE;//文件輸入流,生成文本文件??Writeroutput=null;//內(nèi)存中存儲(chǔ)的PDFDocument??PDDocumentdocument=null;try{?????try{????????//首先當(dāng)作一個(gè)U

7、RL來裝載文件,如果得到異常再從本地文件系統(tǒng)//去裝載文件????????URLurl=newURL(pdfFile);????????document=PDDocument.load(url);????????//獲取PDF的文件名????????StringfileName=url.getFile();????????//以原來PDF的名稱來命名新產(chǎn)生的txt文件????????if(fileName.length()>4){???????????FileoutputFile=newFile(fileName.substri

8、ng(0,fileName.length()-4)+".txt");???????????textFile=outputFile.getName();????????}?????}catch(MalformedURLExceptione){????????//如

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無此問題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。