示例PDF页面:https://db.tt/qRcF000k修复PDF与读取字符
这是样品从页的文件,其中复制的文本显示在我最喜欢的读者SumatraPDF(mupdf)只是同在Adobe Acrobat问号。但我的主要问题是,我无法搜索这个文件,因此,我也不能索引它。
OTOH,xpdf中的pdftotext
提取正确的文本。
在Adobe Acrobat中,如果我使用“作为格式化文本复制”,正确的文本会写入剪贴板,但我仍然无法从Acrobat搜索。
另外,如果我打开Firefox的内置PDF阅读器中的链接页面,我可以正确地复制文本。
可以Ghostscript的可能被指示纠正这个问题,我无法描述不同的则是“乱码”?
*我什么都看不到怎么都不可能,从这个*提取明智的文本 - 在部分* 9.10提取的文本内容*您不能使用“官方”的信息,既不在PDF结构(如概述[ISO 32000-1](http://www.adobe.com/content/dam/Adobe/en/devnet/acrobat/pdfs/PDF32000_2008.pdf))也不在字体文件本身中(没有标准名称,也没有映射到Unicode)的。但是,一个有教养的猜测是可能的,因为字体字符('C65','C66',...)的(非标准)名称包含相应字符的ASCII码(对于来自ASCII范围的字符,是)。 – mkl 2014-08-29 08:16:48
感谢@KenS,这里是从原始文档链接到提取的页面:[sample_page2.pdf](https://db.tt/OASKBSC3)。 “Copy with Formatting”命令在Acrobat XI的选定文本上显示为[上下文菜单](http://i.imgur.com/tGjeTkH.png),可能在Acrobat X中不可用。 – theta 2014-08-29 10:17:44
这是一个新的对我来说:-)它在Acrobat X中可用,但我从未注意到它。我必须猜测,Acrobat正在查看字形名称(例如/ C65),并确定字形名称的数字部分是ASCII(或可能是UTF8)字符代码,就像mkl上面所述。这当然是一种启发式的方式,很可能会失败。我的答案仍然存在,Ghostscript不能'纠正'这个文件。要做到这一点,必须重新编码字体(我们尽量不要这样做),然后说谎编码,或者发明一个ToUnicode。两者都是一个非常糟糕的主意。 – KenS 2014-08-29 11:17:17