欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

Linux系统中如何在PDF中嵌入LaTex中的所有字体

程序员文章站 2022-06-12 11:57:47
当你创建一个PDF文件时,在PDF文件中嵌入字体是一个好主意。如果你不嵌入字体,PDF浏览器可以在计算机上没有字体的情况下使用其他东西代替。这将导致文件被在不同的PDF浏览器或操作系... 14-10-21...

提问: 我通过编译latex源文件生成了一份pdf文档。然而,我注意到,并不是所有字体都嵌入到了pdf文档中。我怎样才能确保所有的字体嵌入在由latex生成的pdf文档中?

解答:当你创建一个pdf文件时,在pdf文件中嵌入字体是一个好主意。如果你不嵌入字体,pdf浏览器可以在计算机上没有字体的情况下使用其他东西代替。这将导致文件被在不同的pdf浏览器或操作系统平台上呈现不同的样式。当你打印出来的文档时,缺少的字体是一个问题。

Linux系统中如何在PDF中嵌入LaTex中的所有字体

当你从latex中生成pdf文档时(例如用pdflatex或dvipdfm),可能并不是所有的字体都嵌入在pdf文档中。例如,pdffonts下面的输出中提示pdf文档中有缺少的字体(如helvetica)。

Linux系统中如何在PDF中嵌入LaTex中的所有字体

为了避免这样的问题,下面是如何在latex编译时嵌入所有的字体。

$ latex document.tex
$ dvips -ppdf -g0 -t letter -o document.ps document.dvi
$ ps2pdf -dpdfsettings=/prepress \
-dcompatibilitylevel=1.4 \
-dautofiltercolorimages=false \
-dautofiltergrayimages=false \
-dcolorimagefilter=/flateencode \
-dgrayimagefilter=/flateencode \
-dmonoimagefilter=/flateencode \
-ddownsamplecolorimages=false \
-ddownsamplegrayimages=false \document.ps document.pdf

现在你可以看到所有的字体都被嵌入到pdf中了。

Linux系统中如何在PDF中嵌入LaTex中的所有字体