KDE を使った印刷設定
下準備
印刷するには印刷のツールがインストールされている必要があります。確認してください。
- ghostscript
- cupsかlpr(BSD lpr, LPRng)
それでは物理的なレイヤーからひとつづつ見ていきます。
プリンタ
ケーブルを繋げて電源を入れてください:)
プリンタデバイス/ドライバ
通常のディストリビューションでは既に設定されていることがほとんどです。
/dev/lp0 (USBなら例えば /dev/usb/lp0)が存在するか確認して下さい。またlpモジュールかUSBのprinterモジュールが読み込まれているかを確認して下さい。
# /sbin/lsmod
デバイスファイル/ドライバの設定についてはLinux Printing HOWTOを御覧ください。
Ghostscriptの設定
コマンドラインでgs -vと入力するとバージョン情報が表示されます。ここで重要なのはKDEのアプリケーションから出力した日本語のPS,PDFファイルが正しく扱えることです。TurboやVineなら問題なくいけると思います。これのテストについては印刷前のプレテストのところで行います。
KDEからの設定
さてこれでKDEで設定する準備が整いました。これまでのステップはちゃんと設定してあるディストリビューションなら必要がないのでここからがKDEでの設定ということになります。
まず一つ印刷システム(ジョブ管理、スプーラ)として何を使用するかを決める必要があります。一般にCUPSかlpr(類似物を含む)が選択肢に上がると思います。これら2つの特徴としては
- CUPS: 先進的、高機能
- lpr: 伝統的、広く使われている
と言えるでしょう。指針としてはlprに慣れ親しんでいてそのまま使用したい場合はlpr、特にこだわりがない場合はCUPSを使用すると良いかもしれません。
これからの説明では以下のシステムを想定します。
- 印刷システム: CUPS(lprの場合はいくつかの質問が飛ばされます)
- ポート: ローカル(USB)
- プリンタ: HP Deskjet 990cix
プリンターを設定するには印刷マネージャを立ち上げます。印刷マネージャはKメニューの「設定」→「システム」→「印刷マネージャ」から立ち上げます。またコントロールセンターの「周辺装置」→「プリンタ」でも同様の設定を行なえます。下図のような画面が立ち上がります。
ここで下のほうにある「現在の印刷システム」を「CUPS (Common UNIX Print System)」にします。
プリンタの追加は印刷マネージャの白いあたりのところを右クリックし「プリンタ/クラスの追加...」を選択すると下図のダイアログが現れます。
「次」をクリックします。
まずバックエンドを選択します。ここではローカルで使用するので「ローカルプリンター」にチェックを入れて「次」をクリックします。
次にポートを選択します。パラレルポートの場合は「パラレル」になります。
USBプリンターの場合は「USB」→「USB Printer #1」です。URIのところは「usb:/dev/usblp0」
ですが、システムによっては「usb:/dev/usb/lp0」の場合もあります。上の「プリンタデバイス/ドライバ」を確認して下さい。「次」をクリックします。
次にプリンタのメーカーとモデルを選択します。製造者が「HP」、モデルが「DeskJet 990C」です。「次」をクリックします。
ドライバを選択します。幸せなことにHPのプリンタの場合は利用できるドライバがたくさんあります。ここでは「推奨」となっているものをそのまま使用します。「次」をクリックします。
次はテスト印刷になります。「テスト」をクリックするとテストができます。プリンター追加後でもテストはできるので希望に応じて行なって下さい。
バナーは印刷の前後に文字列やロゴを挿入するものです。通常は「バナーなし」で良いでしょう。「次」をクリックします。
クオータとは大き過ぎるジョブを制限する機能のことです。通常必要ありません。「次」をクリックします。
印刷を禁止したいユーザなどを作成することができます。ひとりや家族で使用する環境の場合には必要ないでしょう。「次」をクリックします。
次に一般情報についての記述です。「名前」はそのままCUPSやlprで使用するプリンター名になるので短い名前が良いです。lprからCUPSに移行する場合はlprでのプリンタ名と同一にして下さい。
「場所」はプリンターが使われる状況をコメントしておく部分で必須ではありません。「次」をクリックします。
そして最後に設定の確認です。ここで「完了」をクリックすると設定が完了し、プリンターが追加されます。
一般ユーザの場合はここでルートパスワードを求められます。
ユーザ名に「root」パスワードにルートパスワードを入力して下さい。
これでプリンタ「hp990c」が追加されました。
ちなみにこの設定はKDEの印刷システムに対してのGUI設定フロントエンドであって、KDE以外でも印刷することができます。例えばlprを使って
% lpr -Php990c foo.ps
とすれば普通に印刷ができますし、既に設定がある場合に印刷マネージャで設定を変更するということもできます。
フォント埋め込みの設定
最後にフォント埋め込みの設定を行います。ヨーロッパ諸国言語と違い日本語の場合はデスクトップ環境としてフォントが統一されていない(フリーのフォントが少なく、ディストリビューション毎にまちまちのフォントをバンドルしているせいです)という欠点があります。また、ネットワークプリンタにデスクトップと同じフォントがインストールされていないこともあります。これらの問題はドキュメントにフォントを埋め込むことで解決します。欠点としてはデータ量が多くなるということがありますが、多くの問題を回避できるのでぜひとも設定しておいてください。
KDE
印刷マネージャを起動します。次に印刷マネージャの白いあたりのところを右クリックし
「マネージャの設定」を選択すると下図のダイアログが現れます。
ここの「フォント」の「印刷時にPostScriptにフォントを埋め込む」にチェックを入れて「OK」をクリックします。
Qt
ここは必ずしも必要ではありませんがQtアプリケーションを使用するときに必要なので設定しておきましょう。
% qtconfig &
でqtconfigを起動します。そこの「Printer」→「Enable font embedding」をチェックし、メニューの「File」→「Save」を選択し、終了します。
エラーの回避方法/ヒント
- 一部のフォントではフォントを埋め込んでもgs側でフォント情報をうまく扱えない場合があります。現時点で(私は)回避方法はわかっていないのでそのようなフォントは使用しないようにしてください。印刷フォントは画面表示のフォント設定と同じものが使用されます。
- 用紙サイズはデフォルトがUS Letterサイズのようなので最初に印刷ダイアログの「プロパティ」→「印刷フォーマット」で「A4」等に変えるようにしてください。
- あらかじめ/etc/foomatic/lpd/というディレクトリを作成しておく必要がある場合があります。
応用編
Canon Bubble Jet Print Filter for Linux フィルタを使用する(lpd使用)
最近ではプリンターメーカーも高品質なLinux用のプリンタフィルタを無料で提供するサービスを行っています。ここでは(株)キャノン販売のCanon Bubble Jet Print Filter for Linuxを使用した設定を試してみます。プリンターにはCanon BJF870を使用しました。このようなフィルタには他にもエプソンコーワの「Photo Image Print System」と「GS Laser Printer Driver」があります。
残念ながらこれらのフィルターを使用するには設定の全てをGUIでできません。インストールとprintcapの設定は手動でやる必要があります。なおCanon Bubble Jet Print Filterのより詳しい設定の詳細はウェブにドキュメントがアーカイブでおいてありますのでそちらをご覧ください。
システム側の設定
まずパッケージをインストールします。
# rpm -ivh bjfiltercom-1.3-0.i386.rpm bjfilter870-1.3-0.i386.rpm
次に/etc/printcapに以下のエントリーを追加します。
bjf870raw:\
:lp=/dev/lp0:\
:sd=/var/spool/lpd/bjf870raw:\
:mx#0:\
:sh:\
:rw:\
:if=/usr/local/bin/bjf870raw:
bjf870ps:\
:lp=/dev/lp0:\
:sd=/var/spool/lpd/bjf870ps:\
:mx#0:\
:sh:\
:rw:\
:if=/usr/local/bin/bjf870ps:
次にスプールディレクトリを作成します。
# cd /var/spool/lpd
# mkdir bjf870ps
# mkdir bjf870raw
キャノンの印刷ダイアログを表示するためにxhostを設定します。
# xhost localhost (Xの起動ファイルに追加しておくと良いでしょう)
lpdを再起動します。
# /etc/rc.d/init.d/lpd restart
これでシステム側の設定は終了です。この状態で
% lpr -Pbjf870ps foo.ps
とするとPostScriptファイルが印刷できる状態になっています。bjf870psはPostScriptファイルをGhostScriptでビットマップに変換し、それをフィルタに通すスクリプトです。
KDE側の設定
KDEの印刷マネージャは/etc/printcapを自動的にパースしてくれるのでKDE側でプリンターの細かい設定をする必要はありません。ここまで設定できたらあとは印刷時のダイアログでbjf870psを選択すればめでたく印刷できます。印刷を実行するとフィルタ側のダイアログがでてきて細かいプリンターの設定ができます。プリンタの設定を行ったら「OK」を押して実際の印刷を開始してください。
最終更新日:2002年11月18日