コマンドからファイル印刷のまとめ
nkf + e2psを使ってファイルを印刷する方法。
e2psはテキストファイルをPostScriptに変換するツールなんだけど、UTF-8に対応していないのでnkfもインストールした。
% sudo port install nkf
e2psをWtSeries : UNIXツールからダウンロードして、解凍。
% cd e2ps-4.34
そのままMacでmakeするとエラーが出るので、ps-font.cの14〜52行の行末にバックスラッシュを追加する。
参考:Debian GNU/Linux から Mac OS X に移行したメモ
ps-font.c
char *gsFonts = "Times-Roman\ Times-Italic\ Times-Bold\ Times-BoldItalic\ --- 中略 --- Ryumin-Light.Hiragana\ Ryumin-Light.Katakana\ Gothic-Meduim.Hiragana\ Gothic-Medium.Katakana\ ";
これでmakeが通るようになる。
% cd e2ps-4.34 % make % sudo make install
これでインストールは完了!あとはこんな風に使う。
% nkf -e foo.txt | e2ps -size 11 -box | lpr -P bar
このコマンドでフォントサイズ11,枠線ありの設定になる。
ubulog: Emacsから印刷するを参考にさせていただきました。
最後に、e2psのREADMEから使い方を抜粋。
○使い方 ・e2ps [引数] [ファイル名・・・] ファイルを(複数)指定しても,標準入力でテキストデータを入力しても 構いません.結果はPostScriptファイルとして出力されます. ・e2lpr は,直接プリンタへ出力します. ・e2ps -h で引数のヘルプが出ます.主に使用する引数を以下の通りです. -p : ポートレイト (縦向き) -p2 : ポートレイト2面印刷 (デフォルト) -p4 : ポートレイト4面印刷 例: 1 2 3 4 -pv4 : ポートレイト4面縦順印刷 例: 1 3 2 4 -l : ランドスケープ (横向き) -l2 : ランドスケープ2面印刷 -l4 : ランドスケープ4面印刷 -lv4 : ランドスケープ4面縦順印刷 -box : ページの枠を印刷 -size fontsize : フォントサイズ (10.0) -line line : ページの最大行数 (66) -nh : ヘッダをなくす -Pprinter : プリンタ設定 (lp) -h | --help : ヘルプを表示する -v | --version : バージョンを表示する ○難しい引数の解説 ・-af (デフォルト: Courier) ・-abf (デフォルト: Courier-Bold) ・-abif (デフォルト: Courier-BoldOblique) PostScritpのアスキーフォント(太字,太字斜体)を指定します. -fl 引数で,フォントのリストが見られますが,すべて使えるわけでは ありません.指定できるフォントは,プリンタに依存します. 例: -af Times-Roman Times-Romanフォントで印刷されます ・-afw (デフォルト: 0.6) ・-afh (デフォルト: 1.0) ・-kfw (デフォルト: 1.2) ・-kfh (デフォルト: 1.0) 印刷する文字の幅や高さの倍率を指定します. -afw, -afh がアスキーフォントの幅と高さで, -kfw, -kfh が漢字フォントの幅と高さです. -ahf,-kfh ともに,1.0以上の値は無視されます. Courierフォントは,高さに対してもともと 0.6倍の幅であるため, アスキーフォントのデフォルト値が 0.6 になっています. 漢字フォントは,幅も高さも同じ大きさですが,通常の印刷では Courierフォントに合わせて 1.2倍の幅にして印刷しています. そのため,デフォルト値が 1.2 になっています. 例: -afw 0.3 アスキーフォントが通常の半分の幅で印刷されます -afw 1.2 アスキーフォントが通常の2倍の幅で印刷されます -afh 0.5 アスキーフォントが通常の半分の高さで印刷されます -afh 1.2 アスキーフォントは通常と同じ高さで印刷されます -kfw 1.0 漢字フォントが隙間なく密に印刷されます -kfw 0.5 漢字フォントが通常の半分の幅で印刷されます -kfw 2.0 漢字フォントが隙間が通常よりも広く印刷されます -kfh 0.5 漢字フォントが通常の半分の高さで印刷されます -kfh 1.2 漢字フォントは通常と同じ高さで印刷されます ・-ohp OHPに印刷するように,フォントを大きく(25.0)して,へッダを印刷 しないようにします. ・-date ページ左上に印刷される日付の文字列を指定します. 日本語も指定できます. ・-head ページ中央上に印刷されるファイル名の文字列を指定します. 日本語も指定できます. ・-page ページ右上に印刷されるページの文字列を指定します. 「指定した文字+ページ数」のように印刷されます. 日本語も指定できます.