當前位置:編程學習大全網 - 編程語言 - 按照妳的代碼,其中壹個pdf讀出的字符串是空的,其他pdf都可以,謝謝

按照妳的代碼,其中壹個pdf讀出的字符串是空的,其他pdf都可以,謝謝

、使用PDFBox處理PDF文檔

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

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

2、PDFBox的下載

最常見的壹種PDF文本抽取工具就是PDFBox了,訪問網址/projects/pdfbox/,進入如圖7-1所示的下載界面。讀者可以在該網頁下載其最新的版本。本書采用的是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();

}

}

  • 上一篇:大疆商城上的這個新無人機只要699,靠譜嗎
  • 下一篇:28款提升自我學識和能力的APP
  • copyright 2024編程學習大全網