web-dev-qa-db-ja.com

lprによるutf-8エンコーディングのサポート

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を使用して再コーディングおよび音訳を行った後も、印刷は正常に機能します(したがって、改行の問題は現在のシステムに固有です)。

11
user001

HPLIPを外部依存関係と見なすかどうかはわかりませんが、CUPSからの直接の公式ドライバー推奨は次のとおりです。

CUPSプリンタードライバー:HP465

そして、これが Debian Repo:HPLIPS のパッケージ情報です。

このように、Thhihiはシステムがpapsのようなツールを使用せずにドキュメントをラスタライズする方法を知らないと述べています。 hplipパッケージをインストールし、http://localhost:631で推奨ドライバーを使用するように構成すると、問題が解決します。詳しくは DebianWikiのSystemPrintingエントリ を参照してください

1
eyoung100

同じことが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のテキストトップよりもはるかに優れています。

1
Thushi

私は同じ問題を抱えていて、以下のハウツーでそれを修正することができました:

http://www.bsmdevelopment.com/Reference/Tech_20130004.html

本当に美味しいです。 FreeMonoやCourierのようなテキスト/プレーン印刷用のフォントを選択することもできます。

乾杯、

0
Scyld de Fraud

次のようなものが必要です:

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'

注:私は試していません。ただの憶測...

0
vinc17