金曜日, 4月 06, 2007

プリンターミニ知識

先日、プリンターについて、「ほう」と思ったことが2つあった。

1.IPP(Internet Printing Protocol)
遠隔地にあるネットワークプリンターに直接文書を出力できると
ちょっとしたFAXみたいに使えて便利だ。そういう用途のために
先日IPPの設定を初めて行う機会があった。

IPPはネットワーク機能付きのレーザープリンターだと、安い機種
でもサポートされていることが多そうだ。今回使用したのは
EPSON の LP-7700。

「スタート」→「設定」→「プリンタとFAX」→「プリンタの追加」
→「ネットワークプリンタ..」→「インターネット上または自宅/
会社のプリンタに接続する」の欄に

http://(IPアドレス):631/(プリンタ名)

のような書式でプリンター情報を記入する。

(記入例)
http://209.191.53.105:631/EPSON_IPP_Printer

通信に使うポートはTCP631番のみ。注意点としては、
サブネットをまたいだローカルネットワーク内で使う場合は、
境界のルーターでルーティングができていることが必要。
サーバーと違い、ネットワークプリンターには戻り
ルーティングを route コマンドで入れたりすることが
できないので。

永続的にその設定を使わないケースで、プリンター側の
ネットワーク内にSSHサーバーがある場合は、ポート
フォワーディングを使うことも可能だ(今回は私はそうした)。

SSHサーバーの外部IP:192.168.10.1
SSHサーバーから見たプリンタの内部IP:192.168.1.10

とした場合に

ssh -L:631:192.168.1.10:631 hoge@192.168.10.1

でSSHのコネクションを先につなげておき、プリンターの追加の
URLとしては

http://127.0.0.1:631/EPSON_IPP_Printer

とループバックアドレスで指定し、プリントアウトすれば完了。


2.ファイルに出力したPostScriptファイルの印刷方法


プリントアウトのダイアログの下の方に「ファイルへ出力」と
いうチェックボックスがある。ここにチェックを入れて、印刷
ボタンを押すと、プリンタには出力されず、印刷内容が.prn
という拡張子のファイルに出力される。

このファイルはPostScriptと呼ばれる形式のファイルで、
普通の画像ビューアーやエディタで開いても、化け文字だらけ
で中身をまともに閲覧することはできない。

では、こんなファイルが何の役に立つのか?それは、プリンターに
つながっていないPCでファイル出力しておいて、それを他のPCに
運んでいき、そのPCから印刷することができるのだそうだ。しかも、
印刷元のPCと同じアプリケーションが入っていなくてもちゃんと
プリントアウトできるらしい。

はっきり言ってそんなニーズを持っている人は非常に稀だと思う
のだが、印刷キューのバックアップファイルだと思えば、何か
使い道がありそうな気がしなくもない。

そう思って、試しにプリントしてみようと思ってハタと困った。
「.prn ファイルって一体どうやってプリントするんだ?」

印刷キューをファイルに出力できる、ということは結構あちこちの
サイトに書いてあるのだが、逆に印刷方法は聞いたことがなかった。
最初はてっきりプリンターのドライバソフトのメニューのどこかに
「キューファイルのインポート」みたいな項目があるのだと思って
いたが、そんなものは無かった・・・。

で、調べてみたところ、方法は意外なことにDOSプロンプトから
copy コマンドを使うらしい。

copy /b (ファイル名).prn (プリンタデバイス名)

(例)
copy /b hoge.prn \\mydomain\"Epson LP-7700"