つっこみ

つっこみ欄にコメントを記載して[つっこむ]ボタンを押してください。
お名前欄の記載は省略できます。

お名前 :
←ここのテキストボックスはスパム対策用なので何も入力しないでください
つっこみ :

[キャンセル]


つっこみ先の記事

・ gsとDeskjet

PSプリンタで遊んだついでに、カラーの場合はインクジェットから出せるように /etc/printcap にエントリとフィルタを追加。ドキュメントを読んでいて初めて気づいたのですが、うちのHP Deskjet970Cxiを使う場合は 'ijs' というデバイスを使うのだそうです。これまで laserjet とかcdj550とかを使っていました(^^;。

で、ijsで出力してみると、案外綺麗なのです。使い方は例えばDJ970の場合、

gs -sDEVICE=ijs -sIjsServer=hpijs -sDeviceManufacturer="HEWLETT-PACKARD" -sDeviceModel="DESKJET 970" -r300x300 ・・・・
のように呪文がとても長いのですが、出力結果はなかなか良好でWindowsのプリンタドライバと比較して色補正がされていない以外は特に見劣りしません。てことで、フィルタに書いておくと
% djpeg じぇーぺぐふぁいる | pnmtops | lpr -P プリンタ名
で用紙一杯にでてきてくれるので、写真とかの印刷にはなかなか便利です。

ちなみに、gsのドライバはそれぞれ出来の良いものも多いのですが、hpijsは© Hewlett-Packard Companyという点で最強かもしれません(^^;

ところで、私がポストスクリプトプリンタにひかれる最大の理由は『フィルタやprintcapの書き方がわからない(^^;)』からなんです。例えば、HPのプリンタに出力する為に書いたフィルタは

#!/bin/sh
TMP=/tmp/gsf$$
gs -sDEVICE=・・・・ -dNOPAUSE -sOutputFile=$TMP \
-q - quit.ps >/dev/null 2>&1 && cat $TMP
rm $TMP
てな具合なのですが、人様のフィルタはたいがい
#!/bin/sh
gs -sDEVICE=・・・ -dNOPAUSE -sOutputFile=- -q -
です。私が試すと、『nページ目』とかのプリンタ表示窓に出てくるメッセージがstdoutに出力されるのでおかしな結果になってしまうのです。どうして人様の環境では後者で動くのかさっぱりわかりません。
また、会社のWindows2000で 'TCP/IP Print Server' を走らせてFreeBSDからLIPS4プリンタをPSプリンタとして使おうとすると、『フィルタを通したものを lpr -l で印刷』するとうまくいくのに『cat PS | フィルタ | lpr』ではぜんぜん動いてくれないので、試行錯誤の上
[printcap]
ps|PostScriptPrinter:\
:lp=/dev/null:sd=/var/spool/lpd/ps:lf=/var/log/lpd-errs:\
:sh::mx#0:if=/usr/local/bin/gsf:mx#0:

[/usr/local/bin/gsf]
#!/bin/sh
TMP=/tmp/gsf$$
/usr/local/bin/gs -sDEVICE=lips4 -sOutputFile=$TMP -dNOPAUSE -q - >/dev/null 2>&1
/usr/local/bin/smbclient //SMBホスト/プリンタ名 -E -N -U guest -c "print $TMP" >/dev/null 2>&1
rm $TMP
としています。どうしてこうしないと動かないのかもさっぱりわかりません。

# 『難しい事を理解しようとしないで使おうとする』のが最大の敗因なのですが・・・

■この記事への permanent link URL(下にいくほどファイルサイズが大きくなります)
  http://toriyu.jp/hitorigoto/id522.html
  http://toriyu.jp/hitorigoto/2002-10-17.html (1日分)
  http://toriyu.jp/hitorigoto/2002-10.html#id522 (1ヶ月分)