![重置 PDF 文本中的 Unicode 映射](https://linux22.com/image/1548017/%E9%87%8D%E7%BD%AE%20PDF%20%E6%96%87%E6%9C%AC%E4%B8%AD%E7%9A%84%20Unicode%20%E6%98%A0%E5%B0%84.png)
PDF 通常包含没有明确映射到 Unicode 的字体,从而阻止我们从中提取正确的文本——Adobe,你真该死!
我需要在 Linux 系统上批量处理 PDF。我这里有几个带有连字符的示例,但我尝试过的任何工具都无法识别连字符;结果总是包含大量不完整的半字。
有没有办法提供缺失的字符映射而不是删除未定义的符号?
答案1
示例 PDF 编码正确:它包含字体到 unicode 表,如果我尝试使用 进行复制粘贴mupdf
,第二段中 Хлебникова 中的连字符将变为 U+00AD SOFT HYPHEN。因此,如果需要,可以通过一些后处理来连接单词。
不幸的是,许多 PDF 工具对 Unicode 的支持已经中断。
识别 PDF 中的空格很困难,因为 PDF 格式不描述空格,它只描述字形在页面上的位置。因此 ebook-convert 中的空格猜测算法似乎不是最优的,但这与编码无关。
据我所知,mupdf
它不包含批量提取文本的工具,但谷歌搜索可以找到例如这第三方代码。我还没试过。