我使用命令创建了一个 pdf 文件pdflatex
,但其中没有嵌入一些字体。请查看 的输出pdffonts
。我还检查了“updmap --edit”以查看选项“pdftexDownloadBase14”是否为真。它是真的。但是,仍然有一些字体没有嵌入。请帮我解决这个问题。
答案1
这可能不是 askubuntu 最相关的问题,但我还是会尝试回答:您可能在文档中包含了使用 Helvetica 字体的图形(一个常见的例子是 Matlab 创建的图形的轴标签),对吗?如果您在文档中使用了 Helvetica(例如\usepackage{helvet}
),Helvetica 替换Nimbus Sans L将被使用。
目前无法从外部图形嵌入字体(但如果您确保外部图形本身嵌入字体,则应该可以工作!)。
因此,正如评论中所建议的,唯一的解决方案似乎是进行 PDF->PS->PDF 转换,例如:
pdf2ps file.pdf file.ps
ps2pdf14 -dPDFSETTINGS=/prepress -dEmbedAllFonts=true file.ps file.pdf
不幸的是,超链接等将无法在这次转换中存活下来。
请参阅(更相关的)tex.stackexchange 姊妹网站上的这个问题: https://tex.stackexchange.com/questions/10391/how-to-embed-fonts-at-compile-time-with-pdflatex
答案2
另一个(我相信更好的)替代方法是使用 ghostcript:
gs -q -dNOPAUSE -dBATCH -dPDFSETTINGS=/prepress -sDEVICE=pdfwrite -sOutputFile=${file}_FONTS-EMBEDDED.pdf ${file}.pdf
这种方法更好,因为结果pdf
更小,并且在文本复制时保持良好的行为。事实上,这种方法嵌入了其他字体,代替了原始字体。但是,结果pdf
将嵌入所有字体。我发现这种方法这里。