【发布时间】:2012-12-30 12:53:06
【问题描述】:
我正在尝试使用 pdfbox 从 PDF 文件中提取文本,但不是作为命令行工具,而是在我的 Java 应用程序中。我正在使用 jsoup 下载 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/
【问题讨论】:
-
也许 this 可以帮助您入门...我从未使用过 jsoup 或 pdfbox 所以我没有任何帮助,但我确定将尝试 pdfbox 因为我一直在测试 itextpdf reader 以提取文本。
-
谢谢,这就是我一直在寻找的东西 - 现在可以使用了 :)
-
太棒了。如果您可以回答自己的问题以供以后使用,那就太好了..
-
将答案作为实际答案提供,并将问题标记为已回答,因此对于来自未回答问题搜索页面的其他用户而言,该问题将显示为具有正确答案。
-
只能添加一个同上。一个没有答案的问题就像一个从未被发现的泉水。