当尝试从嵌入了一些字体集的PDF文档复制并粘贴到MS Word文档时,结果难以理解。
几个符号被更改甚至消失。
使用Adobe Acrobat我可以检查嵌入了哪些特定字体。
答案 0 :(得分:1)
您应首先在pdffonts
实用程序的帮助下检查PDF文档的字体。这是 XPDF package for Windows 的一部分,只需从DOS框中安装即可使用。
为了从PDF中成功提取文本(或复制'n'paste it),字体应使用标准编码(不是Custom
编码),并且应该在PDF中有一个与/ToUnicode
相关联的表。
pdffonts
会返回一些有关PDF使用字体的基本信息。
示例输出:
$ pdffonts -f 3 -l 5 sample.pdf
name type encoding emb sub uni object ID
------------------------- ------------- ------------ --- --- --- ---------
IADKRB+Arial-BoldMT CID TrueType Identity-H yes yes yes 10 0
SSKFGJ+ArialMT CID TrueType Custom yes yes no 11 0
上面的命令要求页面范围 3
(首先检查)中使用的字体为 5
(最后一页要检查) )。
在上述情况下,两种使用的字体都嵌入为子集(由XYZABC+
- 前缀表示其名称,以及<{1}}中的<{1>} strong> yes
和 emb
列。)
字体sub
使用自定义编码,但此字体的PDF没有SSKFGJ+ArialMT
,如 {{1}列的/ToUnicode
条目所示} 即可。
因此,提取用这种字体显示的文本并不容易(提取需要手动逆向工程 - 但是你也可以“阅读”PDF页面。)
如果您使用简单的文本文件作为目标(而不是MS Word文档),则应首先检查文本的复制是否有效。如果没有,你可以忘记MS Word ......
- 在Microsoft Word中安装此类字体会解决这个问题吗?
- 如果是这样,我在哪里可以获得甚至创建我需要的字体子集?
- 如果没有,我该如何解决这个问题?
遗憾的是,您无法通过Acrobat或Adobe Reader获得有关PDF使用的字体的完全相同的信息。您 可以 通过菜单获取的内容 - &gt;档案 - &gt;属性...... 是
但是你没有得到有关no
表存在的信息。
答案 1 :(得分:1)
我的解决方法是将PDF保存为无损或近无损图像,例如.tiff格式,然后从图像创建新的PDF并运行OCR。因此,我在PDF图像中没有失去清晰度/清晰度,并获得可以复制和粘贴的准确OCR内容。并且,是的,很多人都使用受保护的PDF屏幕截图来抓取所有文本(无需重新键入)。简单的非专家脚本(例如Tornado的“Do It Again”免费软件)和PDF生成软件可以轻松快速准确地处理数百页(至少与图像中的OCR一样准确,可以来自相对高分辨率的图像 - 而不是您没有放大或以相对于原始文档的极低空间分辨率捕获的文档的屏幕截图。
答案 2 :(得分:0)
在Microsoft Word中安装此类字体会将其解决吗?
不一定,这是因为很多时候pdf中没有关于字体的信息。换句话说,尽管读者可以从二进制文件中将其渲染得很好,但ascii等效(如果存在字体数据则可能)是不可用的。
如果没有,我该如何解决这个问题呢?
由于问题在于模糊的pdf标准(允许删除字体信息),最好的做法是OCR。
解决方案:
当我遇到类似问题时,这些是我执行的步骤