我正在使用tika从包含大量表格的pdf文件中提取文本。
java -jar tika-app-0.9.jar -t https://s3.amazonaws.com/centraldoc/alg1.pdf
它返回一些无效的文本,有时它修剪2个单词之间的空格;例如它返回 “qu inakli fmyathematical ideas to the real world”而不是“将数学思想与现实世界联系起来”。
有没有办法将这种错误降至最低?或者我可以使用另一个图书馆吗?使用OCR处理这些pdf是否有意义。
答案 0 :(得分:2)
要使PDF中的文本以正确的顺序显示,我必须将SortByPosition标志设置为true ...(tika-app-1.19.jar)
<main>
<img class="portfolio-single-image image1 active-image" src="X" alt="">
<img class="portfolio-single-image image2" src="https://via.placeholder.com/350x150" alt="">
<img class="portfolio-single-image image3" src="https://via.placeholder.com/350x150" alt="">
<img class="portfolio-single-image image4" src="https://via.placeholder.com/350x150" alt="">
</main>
答案 1 :(得分:1)
尝试在使用PDFBox解析器时控制顺序:PDFTextStripper
有一个标志,用于控制文档中的行顺序。默认情况下(在PDFBox中)出于性能原因(未保留订单)将其设置为false,但Tika在打开和关闭此标志的版本之间更改了其行为。
我的博客Extracting text from PDF files with Apache Tika 0.9 (and PDFBox under the hood)中有关此问题的详细信息。