solr - PDFBox 在单词中添加空格

标签 solr lucene pdfbox apache-tika

当我尝试从 PDF 文件中提取文本时,它似乎会在几个单词之间随机插入空格。

我在本页下载部分的以下示例文件中使用 pdfbox-app-1.6.0.jar(最新版本): http://www.sheffield.gov.uk/roads/children/parents/6-11/pedestrian-training

我尝试过其他几个 PDF 文件,似乎在几个页面上都做同样的事情。

我执行以下操作:

java -jar pdfbox-app-1.6.0.jar ExtractText -force -console ~/Desktop/ped 训练 pdf.pdf

在下载的文件上,您将在控制台的结果中看到以下空格插入错误: “• 如果 children 能够步行到 安全上学这可以减少 拥塞。 ”

“• 为以后的生活养成良好的习惯。”

“www.sheffield.gov.uk”

“提前思考!”,这是基于”

等等等等

正如你所看到的,上面的几个单词之间有空格,我无法理解。

我在 ubuntu 上运行 Sun 的 JDK 1.6。

我已经在几个不同的 PDF 文件上尝试过此操作,并尝试在论坛上搜索解决方案,存在类似的错误,但似乎都已解决。

任何帮助或如果其他人有同样的问题请评论。这导致正确索引内容以进行搜索时出现大问题。

最佳答案

不幸的是,目前没有简单的解决方案。

内部 PDF 文档仅包含“将字符 'abc' 放置在位置 X”和“将字符 'def' 放置在位置 Y”等指令,PDFBox 会尝试推断结果提取的文本应该是“abc def”还是“abcdef”基于诸如 X 和 Y 之间的距离之类的东西。这些启发式通常非常准确,但正如您所看到的,它们并不总是产生正确的结果。

提高提取文本质量的一种方法是尝试对每个提取的单词或标记进行字典查找。如果查找失败,请尝试将该标记与下一个标记合并。如果对组合标记的字典查找成功,则文本提取器很可能错误地在单词内添加了额外的空格。不幸的是,PDFBox 中尚不存在这样的功能。请参阅https://issues.apache.org/jira/browse/PDFBOX-1153为此提交的功能请求。欢迎补丁!

关于solr - PDFBox 在单词中添加空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58572455/

相关文章:

mysql - 仅 Solr 与 Solr/MySQL 解决方案

zend-framework - 什么是更好的 ?一大片田地还是许多小田地?

java - pdfbox 和 itext 以不正确的 dpi 提取图像

java - 自定义 PDFTextStripper PDFbox

java - 在矩形 pdfbox 内垂直居中

java - Solr删除由于某种原因无法正常工作

apache - 在solr中索引具有相似值的记录

java - 如何在 Solr 中以 List<String> 形式获取拼写检查响应

lucene - Elasticsearch 过滤结果按 id 排除

lucene - 是否可以在一个 JVM 中运行多个 map 任务?