【问题标题】:how to globally replace font in a PDF如何全局替换PDF中的字体
【发布时间】:2013-07-15 09:33:12
【问题描述】:

是否可以使用 Adob​​e Acrobat 或其他工具全局替换 PDF 中的字体?

我该怎么做?

【问题讨论】:

    标签: pdf pdf-generation acrobat pdfbox


    【解决方案1】:

    如果没有看到您的特定文件,很难说这肯定会奏效。但是,通常字体是这样定义的:

    /Resources << 
      /Font << /F13 1 0 R >> 
    >>
    
    1 0 obj << 
      /Type /Font
      /Subtype /Type1 
      /BaseFont /Helvetica
    >> endobj
    

    字体资源随后被用作/F13 12 Tf,无论何时使用它绘制文本。

    如果您要更改定义中的/BaseFont,它将影响该字体资源的所有使用。

    【讨论】:

    • 对于不理解这一点的人。这是在十六进制编辑器中显示的内容。我更改了字体,即:/Arial->/OpenSans 并更改了文件大小,当我在 Nitro Pro 中打开它时,它说它已损坏,但幸运的是它修复了它。
    【解决方案2】:

    替换 PDF 中的字体通常不是一个好主意。您不应期望类似于替换字体的行为,例如MS Word 文档。在 PDF 中,单个字形或字形运行是绝对定位的。在生成 PDF 时,此定位基于所用字体中字形的相应宽度(和其他指标)。当您替换字体时,字形的位置将保持不变,但通常字形的宽度会与原始字体的宽度不同。这将导致文本格式失真,如下所示:

    【讨论】:

    • 这当然是正确的,但不是问题的答案。想要替换字体是有正当理由的(例如,用更新/修改版本或具有相同字体指标的克隆替换字体)。
    【解决方案3】:

    您可以将 PDF 上传到 Google 云端硬盘,然后将其打开。打开后,您会看到“在 Google 文档中打开”选项:点击它。

    加载完成后,选择所有文本 (CTRL+A),然后将上方菜单中的字体更改为您想要的字体。完成后,您可以执行文件 -> 下载 -> PDF。 Google Docs 会发挥它的魔力,给你一个带有修改字体的 PDF。如果字体大小不同,将自动添加新页面。

    【讨论】:

      猜你喜欢
      • 2013-01-31
      • 2017-10-11
      • 1970-01-01
      • 1970-01-01
      • 2018-05-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多