自分のためのメモ

PS プリンタで両面印刷

2003年12月。どうもフリーのフォントにいろいろあったようで、 ghostscript 経由の印刷の品質が芳しくない。商用フォントを導入すれば もちろん解決するが、最近カラーレーザプリンタも安くなってきたことだし、 PostScript プリンタを導入した。

両面印刷ユニットを付けメモリを増量した OKI ML5300 を購入した。 正確には、PS互換プリンタである。 ネットワークの設定も、パネルででき、細かいところは WWW 経由で可能なので Windows の世話にならなくて良いのがうれしい! しかも、もちろん gs を使ったフィルタが要らないので、 プリンタ設定は楽チンで rm だけ指定すればよいようなもの。 印刷もちょっとペタッと光った感じではあるが、(いや、だから、か?) 写真もきれいに印刷でき、結構速くてなかなか満足である。

しかし、せっかくの両面印刷なんで使えるようにせねばなるまい。 そこで、WWW検索をすると、いくつか見付かった。 今回は、Dai Ishijima さんの PostScript関連ツール のページにある duplex-lpr を参照してフィルタを 作ってみた。もとの duplex-lpr はオプションで綴じ方を替えたりできるのだが、 フィルタらしく単機能で2つにした。実際にはもとのスクリプトをコメントアウトして あるのだが、WWWに全部コピーを載せるのはあんまりだと思うので、コメント無し版を ここに載せる。

---- 長辺綴 ----
#! /bin/sh
duplex=true
short=false
echo "%!"
echo "1 dict dup /Duplex $duplex put setpagedevice"
echo "1 dict dup /Tumble $short put setpagedevice"
cat -
exit 0
--------------
---- 短辺綴 ----
#! /bin/sh
duplex=true
short=false
echo "%!"
echo "1 dict dup /Duplex $duplex put setpagedevice"
echo "1 dict dup /Tumble $short put setpagedevice"
cat -
exit 0
---------------
上の -- から --- までを、それぞれ /usr/loca/bin/duplex-long と /usr/loca/bin/duplex-short として保存し chmod +x して置き、 /etc/printcap に
lp2|2:\
	:rm=ml5300:sd=/var/spool/output/ml5300-2:sh:\
	:if=/usr/local/bin/duplex-long:lf=/var/log/lpd-errs:mx#0:
lp2s|2s:\
	:rm=ml5300:sd=/var/spool/output/ml5300-2s:sh:\
	:if=/usr/local/bin/duplex-short:lf=/var/log/lpd-errs:mx#0:
こんなエントリを作っておくと(もちろん、ml5300 は /etc/hosts に書いておく) lpr -P2 hoge.ps などで両面印刷できる :-)

メモのトップへ
I. Tamagawa