使用Apache PDFBox提取文本错误的字符?

时间:2016-01-21 10:20:11

标签: java pdfbox

我正在尝试使用Apache PDFBox 1.8.4从PDF中提取文本 - 我的代码如下:

public static void main(String[] args) throws Exception {

        PDDocument pdfDocument = PDDocument.load(new File("rep.pdf"));
        PDFTextStripper stripper = new PDFTextStripper();
        String s =  stripper.getText(pdfDocument);
        System.out.println(s);
        pdfDocument.close();
    }

要转换的pdf:https://www.dropbox.com/s/t35rr23v4383yvt/Form-V-report.pdf?dl=0

但是有这样的追逐:

!"#$%&'()*$+,)!'-,./+/
0+12)3$#'(,,)451#+('1)65+7(,+'(/
!"#$%&'(
)*+,-.##(',/$.0
123.4.5,67,,89:;+
<3$'(=,>:++?,*99%@AB)

任何解决方案?

提前 - 谢谢。

1 个答案:

答案 0 :(得分:3)

Adob​​e集成了PDF混淆,可以由PDF的创建者启用。我无法确切地记得它是如何工作的,但是如果您使用任何在线PDF文本提取工具,或者如果您尝试复制并粘贴文本,您会发现类似的问题。

您可能需要:

A)要求没有启用此功能的副本

B)需要对其工作方式进行逆向工程,并利用这些知识对其进行逆转。

我有一种感觉A是正确的答案