ten*_*use 5 printing fonts cups pdf
我有一个 PDF,其中使用了 TrueType 字体OCRB
,但未嵌入该字体。
所以我尝试在我的系统上安装字体(顺便说一下是 SLES11 SP2),我做了以下事情:
/user/home/username/.fonts
文件夹中/usr/share/fonts
SuSEconfig --module fonts
fc-cache
当我尝试使用以下命令打印 .pdf 时:
lpr -PHL2400Ce -# 1 test.pdf
Run Code Online (Sandbox Code Playgroud)
.pdf 打印得很好,但OCRB
字体不见了,取而代之的是标准字体。
但是,当我使用evince
(gnome 文档查看器)打开 .pdf 时,我看到查看器中的OCRB
字体(正确),当我打印它(使用同一台打印机)时,它在那里并且绝对正确。
我不明白这一点,因为我猜evince
也lpr
以某种方式使用?任何想法我能做什么?(对我来说能够通过命令行打印 .pdf 非常重要,因为它将成为在后台运行的批处理作业的一部分)
我也尝试了一些这样的方法:
gs -dSAFER -dNOPLATFONTS -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sPAPERSIZE=letter -dCompatibilityLevel=1.4 -dPDFSETTINGS=/printer -dCompatibilityLevel=1.4 -dMaxSubsetPct=100 -dSubsetFonts=true -dEmbedAllFonts=true -sOutputFile=output2.pdf -f test.pdf
Run Code Online (Sandbox Code Playgroud)
这给我带来了输出:
....
Can't find (or can't open) font file Arial-BoldMT.
Didn't find this font on the system!
Substituting font Helvetica-Bold for Arial-BoldMT.
Substituting font Helvetica for OCRB
Run Code Online (Sandbox Code Playgroud)
因此,我在这里看到的是,gs
替代Helvetica
了OCRB
,即使没有消息Can't find or can't open font...
,因为它是Arial-Bold
。知道为什么吗?
小智 1
您还需要在打印机渲染器中添加字体。打印机渲染器字体库的正确文件夹很难找到,但查看所有 CUPS/Ghostscript/lpr 配置,您会找到该位置。字体可能需要重新索引,并且 CUPS 和 GS 中都有相应的脚本。
为什么 Evince 能很好地打印出来,是因为通过轻微的强制,你基本上告诉它将所有东西预渲染为向量。
这有点不必要的复杂,主要是因为这些模块化部件是分开诞生的,并且在系统级别发生的聚合最近才发生。
Apple 在内部使用 CUPS,并以某种方式解决了字体安装问题。我没有检查细节,但基本上它要么使用中央系统范围的字体库,要么将字体复制到 GUI 和 CUPS 字体路径。我猜他们不会复制,而是更改了软件以支持通用字体路径。
归档时间: |
|
查看次数: |
5607 次 |
最近记录: |