ポメラDM200上のDebianからWi-Fiでネットワークに繫いだ状態から、ネットワーク内のプリンタで印刷する方法のメモ。
以下のような記事を参考にポメラDM200でDebianが起動する状態にしてあることを前提とする。
方法概要
- プリンタへのデータの送信はCUPS(Common Unix Printing System)を用いる
- テキストを印刷する際は、
paps
を用いてPostScript化する
手順
CUPSとpapsをインストール
$ sudo apt install cups paps
CUPSのテスト
Xを立ち上げ、ブラウザを開き、http://localhost:631
に繋ぐとCUPSの設定画面が出る。
ここからプリンタの追加やテストページの印刷を行う。
- 設定の方法は なんぶ電子: Debian(Linux)にプリンタをインストールする を参照。
- 私はデフォルトで両面印刷する設定にした。
- デフォルトプリンタの設定も行ったが、これはなぜか私の環境では効いていない。
- インターネット上には、プリンタのドライバをインストールしないといけないと印刷できないという情報もあるが、少なくとも私の使っている Brother DCP-J978N の場合はドライバなしで印刷できた(最低限のPostScriptプリンタとしての機能はドライバなしでも使えるということ?)。
- w3mでは設定できなかった。
- GUIを使うのが嫌ならば、コンフィグファイルを編集すればいけるらしい。
- 以下、機種依存性が大きいと思われる。
CUPSを用いた英語テキストの印刷
CUPS経由で印刷する場合は lp
コマンドを用いる。英語のテキストファイルであればそのままこのコマンドで送れば印刷できる。
ただし、sample.txtに半角英数字以外の文字が含まれていると、印刷できないことがある。プリンタがその文字コードを理解できない場合があるからだ(このあたりはプリンタに依存する)。
とのこと(出典:lprコマンドでバイナリ・モードで印刷する - @IT)
まず、
$ lpstat -p
でプリンタを検索する。
その後、
$ lp -d プリンタ名 sample.txt
で印刷できる(プリンタ名
には検索したときに出てきた名前を入れる)。
プレーンテキスト以外にも、PDFやPostscriptのファイルがあれば、同様にして印刷できる。
日本語テキストを印刷する
日本語テキスト(UTF-8)を印刷したい場合は、テキストをPostScriptまたはPDFに変換した後に印刷することになる。
気合の入った文書の場合はLaTeXで組版してPDFにしても良いが、この場合数GBのLaTeXのインストールが必要になり大変。
ここでは、paps
というソフトで簡易にプレーンテキストをPostScriptに変換して印刷する方法を紹介する。
使い方は
$ paps --header --font="TakaoMincho 9" input.txt > output.ps
のようにするだけ(オプションは「ヘッダ付き」「TakaoMinchoの9ポイントを指定」の意)。これで生成されたpsファイルを、
$ lp -d プリンタ名 output.ps
としてプリンタに送ってやると印刷される。
- LaTeXを使う方法で行く場合は メモ: Pandoc+LaTeXで気軽に日本語PDFを出力する - Qiita あたりを参考にするのがよさそう。
- text->ps変換を行うツールは
paps
以外にもいくつかあり、なにかやったら書くブログ: UTF-8で書かれた日本語テキスト, テキストファイルをPostScriptに変換する方法(2019/11)で紹介されている。なお、GitLab版のgnome-u2psは、そのままではビルドできなかったが、Makefileの中のgccのところに-lm
オプションを足せばビルドできた。 - ps2pdfでPDFに変換してから印刷しても、特になにも変わらないように見えた。
以上
ポメラで入力した文章を、パソコンを経由せずに直接印刷できるのは結構便利だと思う。
これはもはやワープロな気がするが……。