lpr
からxterm
を介してテキストファイルをプリンターに送信しようとしたときに、コンテンツが認識できないほど破損しており、その原因は最終的にはファイルのエンコードにありました。代わりにiconv
(例:iconv -f utf-8 -t ascii//TRANSLIT
)を使用してテキストを処理すると、ファイルは正常に印刷されます。私が遭遇したもう1つの提案は、ドキュメント形式(たとえば、lpr -o document-format=text/utf8
)を設定することですが、これはエラーlpr: Unsupported document-format "text/utf8"
を返します。 lpr
コマンドにエイリアスを設定してiconv
による処理を含めることができますが、CUPS
/lpr
システムでネイティブutf-8をサポートするためのより一般的な方法はありますか?
編集:私のOSはDebian 8で、ウィンドウマネージャーはopenbox
(デスクトップ環境なし)です。 MacOS XとDebian7/Gnome3システムから問題なくこのファイルを印刷できます。
現在のシステムでは、文字エンコーディングをUTF-8からASCIIに変更した後でも、改行文字はlpr
によって考慮されないため、行が連結され、紙のマージンに達するまで印刷されます。 MacOS Xでiconv
を使用して再コーディングおよび音訳を行った後も、印刷は正常に機能します(したがって、改行の問題は現在のシステムに固有です)。
HPLIPを外部依存関係と見なすかどうかはわかりませんが、CUPSからの直接の公式ドライバー推奨は次のとおりです。
そして、これが Debian Repo:HPLIPS のパッケージ情報です。
このように、Thhihiはシステムがpapsのようなツールを使用せずにドキュメントをラスタライズする方法を知らないと述べています。 hplipパッケージをインストールし、http://localhost:631
で推奨ドライバーを使用するように構成すると、問題が解決します。詳しくは DebianWikiのSystemPrintingエントリ を参照してください
同じことがpapsでも行えます。
#!/bin/bash
#This script converts UTF-8 txt to postscript
paps | lpr
Sometimes you need to specify the prinqueue;
#!/bin/bash
# This script converts UTF-8 txt to postscript
paps | lpr -P lj
Papsはcupsのテキストトップよりもはるかに優れています。
私は同じ問題を抱えていて、以下のハウツーでそれを修正することができました:
http://www.bsmdevelopment.com/Reference/Tech_20130004.html
本当に美味しいです。 FreeMonoやCourierのようなテキスト/プレーン印刷用のフォントを選択することもできます。
乾杯、
次のようなものが必要です:
text/plain application/postscript 33 texttops
/etc/cups/mime.convs
ファイル内。それで、私がすべきことは、texttopsフィルターを修正することだと思います。 Debianでは、これは/usr/lib/cups/filter/texttops
です。これは、texttopdfフィルターとpdf2ps
コマンドを使用するシェルスクリプトです。 texttopdf/pdf2psの呼び出しをpaps
で置き換えることもできますが、引数が同じではないことに注意してください。最小値(テキストが標準入力に提供され、psの結果が標準出力に送信されるため)は、次の行だけになります。
paps
ただし、オプションを追加することもできます。例:
paps --font='Monospace 10'
注:私は試していません。ただの憶測...