PDFBox文本提取 - 空输出

时间:2015-02-10 13:16:23

标签: java pdf pdfbox

我试图从一组PDF中提取一些信息。这项工作到目前为止,但一个PDF给了我不满。

我使用PDFBox 1.8.8,使用Java 7。

PDDocument document = PDDocument.load(pdfFile);
PDFTextStripper stripper = new PDFTextStripper();
System.out.println("File: "+pdfFile.getAbsolutePath()+" readable: "+pdfFile.canRead()+" size: "+pdfFile.length());
System.out.println(stripper.getText(document));

它只是打印

File: /foo/bar/mypdf.pdf readable: true size: 1267743

然后终止。通常我使用writeText方法并通过流汇集文本,但上面的代码用于简化。我尝试用pdftotext转换PDF - 它的效果与其他人一样。

我也不例外,没有任何例外。有什么想法吗?

编辑: 附加信息:使用Acrobat Distiller 9.0.0(Windows)创建,格式为PDF-1.6;其他PDF是版本1.4和1.5

似乎不包含异国情调的角色。我可以在Evince PDF-viewer

中标记/复制文本

EDIT2:

该死的。文件属性对话框(Nautilus)说"安全:否",但是pdfinfo给了我:

Encrypted:      yes (print:yes copy:no change:no addNotes:no algorithm:AES)

无论如何要绕过那个?毕竟,pdftotext可以将文本删除。

1 个答案:

答案 0 :(得分:1)

该文件被加密" (写保护),但没有设置用户密码。此Stackoverflow答案显示了如何删除加密并只读取文件:remove encryption from pdf with pdfbox, like qpdf