2013-01-16 150 views
4

我想使用pdfbox從PDF文件中提取文本,但不是作爲命令行工具,而是在我的Java應用程序中。我正在使用jsoup下載pdf。使用pdfbox從PDF文件中提取文本

res = Jsoup 
.connect(host+action) 
.ignoreContentType(true) 
.data(data) 
.cookies(cookies) 
.method(Method.POST) 
.timeout(20*1000) 
.execute(); 

// prepare document 
InputStream is = new ByteArrayInputStream(res.bodyAsBytes()); 
PDDocument pdf = new PDDocument(); 
pdf.load(is,true); 

// extract text 
PDFTextStripper stripper = new PDFTextStripper(); 
String text = stripper.getText(pdf); 

// print extracted text 
System.out.println(text); 

此代碼僅打印空行。當我這樣做:

System.out.println(res.body()); 

它打印PDF文件輸出是這樣的:

%PDF-1.4 
%���� 
6 0 obj 
<< 
/Filter /FlateDecode 
/Length 1869 
>> 
stream 
x��X�n�� 

...

<< 
/Size 28 
/Info 27 0 R 
/Root 26 0 R 
>> 
startxref 
20632 
%%EOF 

所以,我相信,在PDF下載正確的 - 只是這個PDF剝離器不工作...

-------------------------------------- --------編輯

解決了這個問題 - 工作代碼在這裏http://thottingal.in/blog/2009/06/24/pdfbox-extract-text-from-pdf/

+1

也許[此](http://thottingal.in/blog/2009/06/24/pdfbox-extract-text-from-pdf/)可以幫助你開始...我從來沒有與** jsoup **和** pdfbox **所以我沒有幫助,但我肯定會嘗試** pdfbox **,因爲我一直在測試** itextpdf reader **來提取文本。 – WeloSefer

+0

謝謝,這就是我正在尋找 - 它現在的作品:) – user606521

+4

太好了。如果你可以回答你自己的問題供以後使用,這將是很好的.. – WeloSefer

回答

2

(問題在評論中回答。見Question with no answers, but issue solved in the comments (or extended in chat)

@WeloSefer寫道:

也許this可以幫助你開始...我從來沒有與jsoup也不PDFBOX工作,所以我沒有幫助,但我肯定會嘗試PDFBOX,因爲我已經一直在測試用於提取文本的itextpdf閱讀器。

的OP寫道:

謝謝,這是我一直在尋找 - 現在的工作:) 這個問題就解決了 - 工作代碼是在這裏http://thottingal.in/blog/2009/06/24/pdfbox-extract-text-from-pdf/