4

将 pdf 页面转换为图像时,如果输入 pdf 中未嵌入字体,则使用默认字体替换(通常为 Arial)。但是,我想更改默认字体。

这里有描述,但信息太少。我不知道如何创建以及将配置文件放在哪里。

操作系统:Ubuntu 18.04

4

2 回答 2

3

你提到的页面救了我,谢谢!方法如下:

正如他们所指出的,需要的是配置fontconfig. 对于 Ubuntu,我不确定,但对于 Debian,这意味着创建或编辑此文件:

/etc/fonts/local.conf

对于字体替换,您只需要包含类似以下示例的内容:

<alias>
    <family>Helvetica</family>
    <accept><family>Nimbus Sans L</family></accept>
</alias>

Helvetica 家族将被“Nimbus Sans L”家族取代。

要检查它是否有效,您可以使用包含例如 Helvetica 的 PDF 文件,然后键入:

pdffonts -subst <你的文件>.pdf

这将列出字体替换。就我而言,它工作得很好,poppler 现在做了正确的替换。

于 2020-12-07T22:35:33.127 回答
1

对于 Fedora,我创建~/.config/fontconfig/fonts.conf了以下内容:

<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<match target="pattern">
 <test name="family">
  <string>Helvetica</string>
 </test>
 <edit name="family" mode="prepend" binding="strong">
  <string>Liberation Sans</string>
 </edit>
</match>
</fontconfig>

它工作正常,经过测试fc-match Helveticapdffonts -subst <yourfile>.pdf

我推荐 arch linux wiki 以获得更多字体配置信息

于 2022-01-18T17:57:08.080 回答