在 Illustrator 中打开 PDF 会分解文本对象

平面设计 adobe-illustrator pdf svg
2022-01-09 12:27:46

我最近不得不将一些PDF文件转换为SVG,并通过在Illustrator中打开 PDF并保存到 SVG 来做到这一点。

问题是当 Illustrator 打开 pdf 时,许多(但不是全部)文本对象会被分解为不同的文本对象。例如,单词“policy”不会是一个文本对象,而是几个文本对象,“po”、“l”、“icy”。似乎没有任何押韵或理由。

我怎样才能防止这种情况发生?

2个回答

一般这种情况都是为了保持美观

如果文本与其他对象交互,它可能会被分解。如果嵌入在 PDF 中的字体是一个子集,而不是整个字体,它可以在 AI 中分解,以便 AI 可以从子集中插入缺失的字符。

除了每次工作并保存到相同版本的 Illustrator之外,您几乎无法阻止这种情况的发生。并且仅将 PDF 保存为单独的文件以供输出,而不是编辑。


但是您可以在 Illustrator 中通过使用直接选择工具选择工具选择文本字符串来更正它,Edit > Copy然后开始一个新的点或区域文本和Edit > Paste粘贴的文本将是一个字符串,而不是复制的部分。

如果您想合并损坏的文本,同时尽可能多地保留现有文本的格式、位置、段落和其他版式,而不是作为纯文本粘贴到新创建的文本区域,您可以试试John Wundes'惊人的加入文本框架脚本

它完全按照它在罐头上说的做:它将文本片段合并为一个文本片段,通过根据它们彼此相对的位置做出智能判断:

  • 它将相邻的文本片段(例如,来自 PDF 中的断行文本)合并为单行,并提供一些控制被认为是同一行的接近程度。
  • 它将单独的文本行合并为一个多行文本对象,文本以正确的顺序(从上到下),修复损坏的段落。
  • 然后有一个选项可以恢复所有合并文本的原始格式。这可能需要一段时间,但它可以帮助您非常准确地估计需要多长时间以及如果不值得跳过的选项。

真的很棒!


请注意,它仅适用于点文本,而不适用于区域文本(这里很好,因为 PDF 几乎总是点文本)。如果您出于任何原因尝试合并区域文本,您可以使用Kelso Cartography 'Make point text' 脚本对其进行转换


如果您想将损坏的文本重新转换为具有自动流动段落的正确文本区域,它也可以与AjarProductions 的“转换为文本区域”脚本(Kelso Cartography 也有类似的脚本,请参见上面的链接)结合使用:

  1. 选择损坏的文本片段,运行 Join Text Frames 脚本
  2. 将文本复制并粘贴到文本编辑器中,该编辑器可让您查找/替换段落字符(例如 InDesign,编码器的纯文本编辑器,或者甚至可能类似于(耳语)Word...)
  3. 查找/替换掉不需要的换行符结尾。如果您要保留许多单独的段落,1) 您确定使用 InDesign 不会更好吗?2)你可以这样做:

    1. 用一些文本占位符查找/替换两个连续的段落标记,这些占位符不会出现在文本的其他任何地方(例如\|\C.L.O.W.N.H.O.R.R.O.R/|/
    2. 查找/替换没有任何内容或空格的段落标记:将其变成一长行文本,偶尔会出现\|\C.L.O.W.N.H.O.R.R.O.R/|/
    3. 查找/替换\|\C.L.O.W.N.H.O.R.R.O.R/|/新的段落字符 - 将一个段落放置在之前两个段落的位置。
  4. 将文本复制回来,然后在其上运行“转换为文本区域”脚本。它现在是一个流畅的文本区域,在正确的位置有分节符。


不幸的是,除了阻止它被概述、重新输入或信任可能不可靠的 OCR 软件之外,没有什么可以修复概述的文本。