我正在尝试使用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)
任何解决方案?
提前 - 谢谢。
答案 0 :(得分:3)
Adobe集成了PDF混淆,可以由PDF的创建者启用。我无法确切地记得它是如何工作的,但是如果您使用任何在线PDF文本提取工具,或者如果您尝试复制并粘贴文本,您会发现类似的问题。
您可能需要:
A)要求没有启用此功能的副本
或
B)需要对其工作方式进行逆向工程,并利用这些知识对其进行逆转。
我有一种感觉A是正确的答案