如何全局替换PDF中的字体

inc*_*man 9 pdf acrobat pdf-generation pdfbox

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

我怎样才能做到这一点?

Fra*_*Rem 6

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

在此输入图像描述

  • 这当然是对的,但不是问题的答案.有理由说明为什么要替换字体(例如,用更新/修改版本替换字体或使用具有相同字体度量的克隆). (3认同)

Rus*_*ser 5

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

/Resources << 
  /Font << /F13 1 0 R >> 
>>

1 0 obj << 
  /Type /Font
  /Subtype /Type1 
  /BaseFont /Helvetica
>> endobj
Run Code Online (Sandbox Code Playgroud)

然后,字体资源用作/F13 12 Tf使用它绘制文本的任何地方。

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

  • 对于不了解这一点的人。这是十六进制编辑器中显示的内容。我更改了字体 ie:/Arial-&gt;/OpenSans 并更改了文件大小,当我在 Nitro Pro 中打开它时,它说它已损坏,但幸运的是它修复了它。 (3认同)