TrueTypeフォントを使用するPDFがありますが、OCRB
フォントは含まれていません。
だから私のシステム(SLES11 SP2)にフォントをインストールしようとしました:
- GNOMEデスクトップでフォントをダブルクリックし、インストールをクリックします。
/user/home/username/.fonts
フォルダにコピー- にコピー
/usr/share/fonts
- ルート化:
SuSEconfig --module fonts
fc-cache
次のコマンドを使用して.pdfを印刷しようとすると:
lpr -PHL2400Ce -# 1 test.pdf
.pdfは正しく印刷されますが、OCRB
フォントは消えて標準フォントに置き換えられます。
evince
ただし、(gnome Document Viewer)を使用して.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
結果は次のとおりです。
....
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
だからここに見えるのは、メッセージがなくてもgs
置き換えられるということですHelvetica
。理由をご存知ですか?OCRB
Can't find or can't open font...
Arial-Bold
答え1
また、プリンターレンダラーにフォントを追加する必要があります。プリンタレンダラーフォントライブラリの正しいフォルダを見つけるのは難しいですが、すべてのCUPS / Ghostscript / lpr設定を見ると場所を見つけることができます。フォントを再インデックスする必要があり、CUPSとGSの両方にそのためのスクリプトがあります。
Evinceがそのようにうまく印刷される理由は、少し強制すると、基本的にすべてをベクトルにプリレンダリングするように指示するためです。
これはやや不必要に複雑です。主に、これらのモジュール部品が別々に生まれ、システムレベルで発生する融合が最近起こったためです。
Appleは内部的にCUPSを使用し、フォントインストールの問題を何とか解決しました。詳細は確認されていませんが、デフォルトでは中央システム全体のフォントライブラリを使用するか、フォントをGUIおよびCUPSフォントパスにコピーします。私の考えでは、コピーするのではなく、共通のフォントパスをサポートするようにソフトウェアを変更したようです。