PDFTextStripper stripper = new PDFText2HTML(encoding);
String result = stripper.getText(document).trim();
结果包含类似
的内容<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd"> <html><head><title>Inserat
SeLe EE rev</title> <meta http-equiv="Content-Type"
content="text/html; charset=utf-8"> </head> <body> <div
style="page-break-before:always;
page-break-after:always"><div><p>�&#...
而不是
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd"> <html><head><title>Inserat
SeLe EE rev</title> <meta http-equiv="Content-Type"
content="text/html; charset=utf-8"> </head> <body> <div
style="page-break-before:always; page-break-after:always"><div><p>any
blablabla characters...
当我将编码更改为windows-1252或utf-8结果未更改时。错误的pdf网址http://www.permaco.ch/fileadmin/user_upload/jobs/Inserat_SeLe_EE_rev.pdf
如何解析这个pdf?
答案 0 :(得分:3)
如何解析this pdf?
没有OCR,你就没有。
有问题的PDF不包含提取文本所需的信息,而不至少进行一些OCR(至少OCR使用所用字体的每个字符来查找从字形到字符的映射),这需要额外的库和代码
作为文本提取的要求,PDF规范ISO 32000-1:2008在第9.10.2节中正确地指出用于提取文本的字体需要
通常,良好的第一个测试是尝试使用Adobe Reader复制和粘贴文本,因为Reader的代码中有很多文本提取经验。在尝试这样做的时候,你会发现你只会得到垃圾。