如何确保按需打印服务能够正确打印由 LaTeX 生成的 PDF

如何确保按需打印服务能够正确打印由 LaTeX 生成的 PDF

我刚买了一本用 luaLaTeX 制作的 pdf 小册子的印刷版。在 Lulu 上传过程中创建的“可打印版”在电子版和本地打印机上打印时看起来都很好。但是,Lulu 的印刷版缺少文档中使用的某种字体的某些字符。

该文档在 Biolinum 中排版,包含来自 MarVoSym 和 FontAwesome 的几个符号以及来自 Computer Modern 的几个字符。pdffonts从 Lulu 的“打印就绪副本”中提取的字体信息表明所有字体均已嵌入并子集化:

name                                 type              emb sub uni object ID
------------------------------------ ----------------- --- --- --- ---------
QNTGDG+LinBiolinumO                  CID Type 0C       yes yes yes      9  0
YCZZZO+LinBiolinumOB                 CID Type 0C       yes yes yes     16  0
TIILYD+LinBiolinumOI                 CID Type 0C       yes yes yes     32  0
NJDZPD+MarVoSym                      Type 1            yes yes no      39  0
ZRZEPL+FontAwesome                   CID Type 0C       yes yes yes     43  0
KVFQUZ+CMSY8                         Type 1            yes yes no      71  0
YGYBQB+CMMI8                         Type 1            yes yes no      75  0
TXCQMU+LinBiolinumOBO                CID Type 0C       yes yes yes    106  0

缺失的字符来自 FontAwesome。具体来说,FontAwesome 中使用的两个符号是 InfoSign (U+F05A) 和 ExclamationSign (U+F06A)。这两个符号是 FontAwesome 中使用的仅有的两个符号,它们是使用包中的\faInfoSign\faExclamationSign命令插入到文档中的fontawesome。我可以从 LaTeX 端执行某些操作来确保我的 pdf 中的所有字体都会显示在打印的副本中吗?

一些论坛帖子Lulu.com 网站上的说明指出,字体不仅必须作为子集嵌入,还必须完全嵌入。是否可以配置 luaLaTeX 不将嵌入的字体子集化?

非常感谢任何有关确保与在线按需印刷服务兼容性的建议。

答案1

我不知道任何 tex 编辑器中是否有这样的选项。但如果您需要快速修复,请尝试使用 GIMP (www.gimp.org) 将文档保存为 .png。它将排除任何字体问题,但会引入 cfr 提到的文件大小问题。为他们提供每页的图像可以排除除不匹配的 rgb/cymk 等之外的任何问题。

答案2

前段时间遇到这样的问题时(就我而言,打印机根本无法识别主字体),我决定将所有字体转换为曲线。当然,这会使文件大小膨胀(可能是原始大小的十倍以上),生成的 pdf 不再是屏幕阅读的好选择,但在纸上打印绝对安全。虽然我确信也有开源解决方案可以自动执行这种文本->曲线转换,但我使用了 Adob​​e Acrobat。(参见例如https://forums.adobe.com/thread/319641

答案3

我认为你没有加载 marvosym 和 awesome 包fontspec. 这对 lualatex (最新的 TL2014) 来说毫无问题:

\documentclass{article}
\usepackage{fontawesome}
\usepackage{marvosym}
\usepackage{fontspec}
\usepackage{libertine}
\usepackage[english]{babel}

\begin{document}
\sffamily
foo \Telefon\ from MArvoSym,
\faInfoSign\ and \faExclamationSign\ commands from the awesome package

\end{document}

在此处输入图片描述

name                     type              encoding         emb sub uni object ID
------------------------ ----------------- ---------------- --- --- --- ---------
ALMMHG+LinBiolinumO      CID Type 0C       Identity-H       yes yes yes      4  0
EDYICZ+MarVoSym          Type 1            Builtin          yes yes no       5  0
ZRZEPL+FontAwesome       CID Type 0C       Identity-H       yes yes yes      6  0
EUQFZF+LinLibertineO     CID Type 0C       Identity-H       yes yes yes      7  0

答案4

不管怎样,这仍然是 TeXLive 2018 的一个问题。我包含了当前版本 FontAwesome 中的符号,根据pdffonts,字体已正确嵌入,但由于某种原因,Lulu 仍然不会打印这些字符。

相关内容