python - 如何在 matplotlib 生成的 PDF 中嵌入字体?

标签 python pdf matplotlib

我在带有 matplotlib 的 Linux 上使用名为 FreeSans 的 ttf 字体。我将我的人物创建为:

from matplotlib import rc
plt.rcParams['ps.useafm'] = True
rc('font',**{'family':'sans-serif','sans-serif':['FreeSans']})
plt.rcParams['pdf.fonttype'] = 42
plt.figure()
# plot figure...
plt.savefig("myfig.pdf")

当我在另一个程序(例如 Mac OS X 上的 illustrator)上打开它时,字体不会出现,而是使用默认字体,因为 FreeSans 不可用。

我怎样才能使 matplotlib 将字体嵌入到它生成的每个 PDF 中?我不介意文件更大。谢谢。

最佳答案

我在用matplotlib生成pdf时遇到了同样的问题。

有趣的是,如果我在 pdf 中指定使用 TrueType,字体将被嵌入:

matplotlib.rc('pdf', fonttype=42)

关于python - 如何在 matplotlib 生成的 PDF 中嵌入字体?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9054884/

相关文章:

python - 如何重构 API

python - 查找相似的数据并将它们放在单独的列表中

python - 模块未找到错误 : No module named 'pyLDAvis' in anaconda spyder

swift - 使用 swift 代码将 Web View 上的 pdf 共享到其他设备

c# - ASP.NET 将 HTML 转换为 PDF

java - 如何使用java替换pdf中的文本

python - 具有彩色高度的 Matplotlib 3D 瀑布图

python - 超过锁等待超时;尝试使用 python 更新 mysql 表时尝试重新启动事务'错误

python - 为什么我的 tanh 激活函数表现如此糟糕?

python - 在 Mac OS X 上使用 matplotlib 进行非交互式绘图