![搜索具有非标准字符编码的 PDF](https://linux22.com/image/1233425/%E6%90%9C%E7%B4%A2%E5%85%B7%E6%9C%89%E9%9D%9E%E6%A0%87%E5%87%86%E5%AD%97%E7%AC%A6%E7%BC%96%E7%A0%81%E7%9A%84%20PDF.png)
某些 PDF 文件会产生乱码(“莫吉巴克“)当您复制文本时(即使它们渲染正常)。这使得无法搜索它们(无论您搜索什么都不会匹配垃圾)。
有人有简单的解决方法吗?
例子:
- TEAC 电视手册 EU2816STF(在 Windows 和 Mac 上的 Adobe Reader 中均会出现上述问题,但在 Mac 上的 Preview 中运行良好)
- Leadtek Winfast PVR2 手册(FTP 链接;在 Mac 上的预览中也存在问题)
- Swann 电视调谐卡手册(FTP 链接;在 Mac 上的预览中也存在问题)
- Phonedisc 许可协议(来自现已不复存在的糖尿病管理协会)
- 麦格理 IFP 季度基金评论
- BAN-TACS 小型企业手册(存档版本)
- 2004 年复活节盛会传单(同样来自档案)
我正在使用适用于 Windows 的 Adobe Reader(最新版本)——也许其他查看器可能会有帮助?我正在寻找适用于 Windows 的免费解决方案。开源会更好。
编辑:多价文档提取文本工具对为什么会出现问题有一个很好的总结,包括:(引用文件最后修改于 2006 年 1 月)
- 文本可能没有 Unicode 映射。PDF Type 3 字体通常没有,而 TeX DVI 的字符没有 Unicode 对应字符。
- Unicode 编码可能有问题。Open Office 将一些字符映射到相同的 Unicode,导致明显的字母丢失和重复。
我猜想这些情况下的最终解决方案是对字体中的每个字形进行 OCR 处理,以找出它到底是什么字符。请注意,这比对有噪声的扫描文档进行 OCR 处理更容易,因为字形的确切形状是可用的(因为它是“矢量”图像,所以分辨率无限)。
答案1
答案2
解决此问题的最简单方法是打开文件最新版本的 Google Chrome 内置了 PDF 阅读插件。然后您可以使用 Chrome 的搜索功能查找文本,并且复制粘贴可以正常进行。
答案3
为了电视手册示例:Mac 上的 Adobe Reader 8.1.2 也存在同样的问题,但是不使用 Mac 的预览功能复制或搜索文本时出现问题。此外,将其发送到 Gmail 帐户,然后选择“查看”,再选择“纯 HTML”,即可显示文本。但 Adobe Reader 不喜欢它。
其文档属性显示字体的“编码:自定义”。其他文档显示“编码:Ansi”或“Roman”之类的内容,并且在 Mac 上的预览和 Adobe Reader 中都没有问题:
然而,两者丽台和斯旺示例在 Mac 上的预览和 Gmail 中也会出现问题,并且都显示“编码:Identity-H”。电话唱片测试也失败,显示“编码:自定义”。
令人困惑,而且不一致,但一些 Adobe 论坛我发现以下解释完后还有显示“编码:自定义”的示例(重点是我的):
查看 PDF 内部后发现,没有可用的编码信息(无论是在 PDF 中还是在嵌入的字体数据中)来推导文档页面上显示的字符/字形的含义。
字体实际上都是嵌入的,但所有编码信息都被删除了。这是一个典型的 PDF 示例,它在语法上完全符合 PDF 规范,但在制作 PDF 的过程中,有关文本含义的重要信息已被丢弃。据我所知,恢复编码信息非常困难。
这并不能解释为什么 Mac 的预览版(和显然当 Adobe Reader 出现故障时,即使使用“编码:自定义”,Infix 也能处理一些示例。也许当计算机本身恰好存在确切的字体时,预览不会出现问题?或者它只是猜测一种编码,这种编码恰好适用于部分文档,但不是全部文档?
无论是什么原因造成的:如果通过 Google Docs 或 Gmail 传递不起作用,那么最简单(但远非容易)的解决方法确实是保存为 TIFF,然后执行光学字符识别 (OCR). 服务包括印象笔记可能会即时执行(它对图像进行 OCR ;我怀疑它是否会对 PDF 进行 OCR)。
答案4
我无法下载文件 1,但可以使用 xpdf(一款快速且开源的 pdf 查看器)打开文件 2。我猜它不能处理表格,但对于纯文本和图形,我更喜欢它,因为它的启动时间很快。