PDF中的嵌入字体:复制和粘贴问题

时间:2015-04-14 17:15:18

标签: pdf fonts ms-word acrobat

当尝试从嵌入了一些字体集的PDF文档复制并粘贴到MS Word文档时,结果难以理解。

几个符号被更改甚至消失。

使用Adobe Acrobat我可以检查嵌入了哪些特定字体。

  • 在Microsoft Word中安装此类字体会解决这个问题吗?
  • 如果是这样,我在哪里可以获得甚至创建我需要的字体子集?
  • 如果没有,我该如何解决这个问题?

3 个答案:

答案 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中安装此类字体会解决这个问题吗?
  •   
  • 非常可能:。 (如果没有自己访问相关PDF,我无法给出明确答案。)
  
      
  • 如果是这样,我在哪里可以获得甚至创建我需要的字体子集?
  •   
  • 您可以从PDF本身提取子集化字体。 (有趣的是, my most popular StackOverflow answer 正好处理这个问题 - 我不知道为什么人们似乎为从调试目的以外的PDF文件中提取字体而如此疯狂......)< / em>的
  
      
  • 如果没有,我该如何解决这个问题?
  •   
  • 除了手动执行此操作外,没有其他解决方案。

更新

遗憾的是,您无法通过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。

  

解决方案:

当我遇到类似问题时,这些是我执行的步骤

  1. 我将整个pdf文件转换为另一个pdf(图片为 每张幻灯片)。 (如果我先转换每张幻灯片,我发现它是最佳的 使用Adobe Acrobat进入tiff。然后重新组合所有这些tiff 制作一个单一的pdf)。目的是获得纯粹的形象 (二进制)基于pdf。
  2. 然后,通过内置的Adobe OCR运行它 Acrobat(&#39; Enhance&#39;功能)。这使Adobe生成一个新的集合 包括所有相关字体信息的元数据。保存此PDF
  3. 所以,现在我有一个可搜索的pdf。