将 PDF 转换为 PNG 会更改字体大小

将 PDF 转换为 PNG 会更改字体大小

我正在编写一个基于 Python 的 OpenGL 应用程序,它将在屏幕上显示一些文本和数学运算。这些文本元素将以纹理化四边形的形式呈现。但是,我在纹理中的字体大小方面遇到了麻烦:它们比最终应该的要大。

为了生成将映射到这些四边形上的文本和数学纹理图像,我执行以下操作:

  1. pdf使用 从 latex 源生成一个文件pdflatex。此步骤使用的命令是:$ pdflatex sample.tex
  2. 我使用 Imagemagick 的png从 生成一个图像文件。这是此步骤使用的当前命令行:pdfconvert$ convert -set units PixelsPerInch -density 112 sample.pdf -quality 100 sample.png

然后生成了文件png,我可以成功地将其映射到四边形上。但是,我注意到文件的字体大小与 的字体png大小不匹配pdf。为了检查它,我在以下文件上渲染了相同的示例字符串:pdf(带有pdflatex);Libreoffice 文档;以及png图像文件(使用 生成并convert应用于pdf)。这就是我得到的结果:

在此处输入图片描述

最上面的句子是从 中提取的pdf。中间的句子由 Libreoffice 生成。底部的句子(较大的句子)是从png生成的文件pdf中提取的convert。对于前两个样本,我使用了10ptComputer Modern 字体。

和 Libreoffice的结果pdf几乎相同(Libreoffice 实际上要短一点)。我原本希望得到与文件非常相似的结果png-density选项convert设置为 112 以匹配我的计算机屏幕)。但是,该字符串比其他两个字符串大得多。

我的问题是:是否可以将pdf文件转换为png字体大小保持不变的文件?如果可以,该怎么做?

下面是我用于上述测试的 Latex 示例文件:

\documentclass[10pt]{standalone}
\usepackage[dvipsnames]{xcolor}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{lmodern}
\begin{document}
\pagecolor{white}
This is a test... 0123456789
\end{document}

先感谢您!

相关内容