脳内まとめ

なにかのお役に立てれば、、、

Linux(CentOS)でlpコマンドで印刷するには

CentOS6.2にてCUIからlpコマンドで印刷する時に日本語が化けたり、レイアウトがずれたりしたのでその際のメモ

ちなみに、プリンタはエプソンのLP-S5000

 

1.ドライバのダウンロード

Epsonの公式からドライバのダウンロードする。

ファイル名

Epson-LPS5000-filter-1.0.0.i386.rpm」

Epson-LPS5000-filter-cups-1.0.0.i386.rpm」

 

2.足りないものをDL

ghostscript

psutils

glibc

sed

grep

gawk

bc

※元ネタ「http://blog.on-net.jp/tf/2012/06/epson_printer_libstdc5.html」を参照

 

3.不足しているライブラリのインストール

「yum whatprovideos」の実施時に不足しているライブラリをインストールする。

4.フィルタースクリプトの修正

cups filterのスクリプトファイル(/usr/bin/pstolps5000.sh)の一部を変更することです。

pstops -q を絶対パス指定に変更します。

 

line212の

「rotator="" && test "$useRotator" = "on" && rotator=" | pstops -q $p

stops1 $pstops2"」

「rotator="" && test "$useRotator" = "on" && rotator=" | /usr/bin/pstops -q $pstops1 $pstops2」に変更します。

※元ネタ「http://nagaremo.blogspot.jp/2012/08/epson-lp-s5000linux.html」を参照

※ただし、Ubuntuに対しての記載のため、alien処理は不要

※cupsサーバーを再起動が必要

※sudo service cups restart

 

5.テストページの印刷

VirtualBox上で印刷する場合、ネットワーク設定をNATからブリッジに変更すると動くとのことだけど、特に変更しなくてもよい。

※文字化けした場合はghostscriptの日本語対応する必要がある、その場合は調べてくださいませ。

 

印刷について

LP(LPR)のコマンドにて、テキストファイルをそのまま印刷した場合、日本語が上手に印刷出来ない。

そのため、テキストファイルをポストスクリプト(.ps)に変換する必要がある。

ポストスクリプトに変換する方法は多数(a2ps,u2ps,e2ps,paps)存在するが、試した結果paps以外うまく行かなかった。

 

ポストスクリプトに変換方法については、

※「http://ubulog.blogspot.jp/2008/03/ubuntu.html」を参照するとわかりやすい。

 

凡例

(paps --landscape --font="Sazanami Gothic" --font=6 --left-margin=10 --right-margin=10 ファイル名 > lp )