acroread を使ってコマンドライン上から PDF を印刷する方法

今僕が研究室で使っている環境は、どうにも lpr で DVI ファイルを文字化けせずに直接印刷出来ず、長い間 ssh -X で研究室のマシンに入って PDF を生成し、GUI から acroread を動かして印刷していました。その時の処理の遅さと言ったら無いのでコマンドライン上で印刷できないか調べました。

$ acroread -help

上記の方法でヘルプが見れます。どうやら -toPostScript を使えば PDF を PS ファイルに変換してくれるらしいです。acroread を通しておけばフォント問題も解決なのでこれを使います。でもわかったのはいいんですが毎回やるのはメンドクサイんでスクリプトを書きました。

#! /bin/sh

name=`basename $1 .dvi`
dir=`dirname $1`

dvipdfmx $1
acroread -toPostScript ${dir}/${name}.pdf
lpr -P$2 ${dir}/${name}.ps

rm ${dir}/${name}.ps
rm ${dir}/${name}.pdf

うちの研究室は TeX 環境なので、DVI からの PDF 生成をスタートにしています。第一引数に印刷対象ファイルを、第二引数には対象プリンターを指定すれば動きます。basename と dirname 使っているのは PATH を持っておかないとスクリプトと同じディレクトリのファイルにしか有効じゃ無いかと思ってやりました。他に良いやり方が思いつかなかったんですよね。なにはともあれ、これで無事 DVI ファイルを文字化けせずに印刷できるようになりました。

久しぶりに書いた記事がこんなので良いのだろうか。