両面印刷可能な Postscript 対応プリンタで両面印刷するには
ファイルの先頭に
%!
<< /Duplex true /Tumble false >> setpagedevice
を書けば良い(長辺綴じ)。ps ファイルを編集するのは面倒なので 上記を
long.psとして保存しておき
cat long.ps hoge.ps | lpr -Pprintername
とすれば OK。短辺綴じの場合は
short.ps。
/Duplex: 両面印刷のON/OFF
True=ON false=OFF
/Tumble: 綴じ方向の指定
True=短辺綴じ false=長辺綴じ
追記: CanonのCAPTプリンタードライバの対象プリンターに LBP9100C が追加されました。
注: ubuntu 8.04, 10.04 に canon のドライバーをインストールするときは cupsys (transitional package)
が無いとダメみたい。
canon のドライバダウンロードページ
これで Linux から直接印刷出来るようになりました。
参考: http://nabe.blog.abk.nu/CanonCAPT_on_Ubuntu
LBP9100C を購入したが、Canon から提供されている CAPT プリンター用の Linux 向けドライバの対象に含まれていないため、
・WindowsマシンにつながったWindows専用プリンタでWindows用ドライバを使ってLinuxマシン(やMacから)から印刷を行う方法
・Windows上のCAPTプリンタをMacから使う!
を参考に Linux (Ubuntu 8.04, Vine 3.2) から Windows 経由で印刷できる様にした。
私の文章はかなり端折ってあります。
Windows側の設定
- Windows に LBP9100C のドライバーのインストール、設定を行う
Windows 上で使うプリンター名は Canon LBP9100C とした。
このプリンターにデータを投げる。ポートの設定のところでこの名前を参照する。
- Windows に ghostscript をインストール
Windows 2003 server で確認Ghostscript 8.63 + GSview 4.9 の日本語版 から gs863w32full-gpl.zip, gsv49w32.exe をダウンロード、インストールした。
注意: Use Windows TrueType fonts for Chinese, Japanese and Korean にチェックを入れるのを忘れないこと。
日本語が書かれている ps ファイルをちゃんと開けるか確認する。
- redmon をインストール
redmon17.zip をインストールした。
- 仮想 PS プリンターの追加
プリンタの追加:
・このコンピュータに接続されているローカルプリタ
・次のポートを使用(RPT1が無ければポートの追加)
RPT1:(Redirected Port)
ドライバは適当な PS プリンタを選ぶ。
今回は HP Color Laser Jet PS を選び、印刷設定の用紙/品質の色でカラーを選択した。
名前は LBP9100CPS とした。
- Ghostscriptに渡す引数を書いたファイルを用意
今回は C:\printer\lbp9100dup.rsp というファイルを作成し、
-Ic:C:\gs\gs8.63\lib;C:\gs\gs8.63\kanji
-sDEVICE=mswinpr2
-dNOPAUSE
-dSAFER
-dDuplex
-sPAPERSIZE=a4
-sOutputFile="\\spool\Canon LBP9100C"
とした。-dDuplex は両面印刷を意味する。
Output の spool の後は正規のプリンター名にする。
(プリンタの両面印刷指定の方法が使えないのでこれとは別に片面印刷用に lbp9100.rsp も作っておき、
両面・片面それぞれに仮想PSプリンタを用意した。)
- ポートの設定
プリンタ(LBP9100CPS) のプロパティでポートを選び RPT1 のポート構成で
Redirect this port to the program:
C:\gs\gs8.63\bin\gswin32c.exe
Arguments for this program are:
@C:\printer\lbp9100dup.rsp -
Output:
Copy temporary file to printer
Printer:
Canon LBP9100C
Run: Hidden
とする。
Arguments for this program are の最後のハイフンが無いとちゃんと印刷できない。
Printer の名前は Windows 上の正規のプリンター名。
- 印刷設定で用紙サイズ等を確認
Windows 上で仮想プリンターから印刷できる事を確認する。
Linux側の設定
CUPS の設定は
デバイス: Windows Printer via SAMBA
URI: smb://ユーザー名:パスワード@ワークグループ名/PC名/LBP9100CPS
ドライバ: Postscript
とし、印刷設定で Resolution を Windows 側と同じにする(今回は 600 DPI)。
Windows を経由するのでちょっと遅い。早く Linux 版のドライバを出して欲しい。
他のマシンの共有プリンターを見えなくする方法。
Mac OS X はデフォルトでプリンターの共有が ON になっているらしく、cups からこれらのプリンターが見えて目障りな場合は
/etc/cups/cupsd.conf の Browsing の項を Off にし、cups を再起動すれば良い。