Samba でPDF サーバを作る


PDF サーバとは何かは、8/9 の日記を参照。

まずは smb.conf の内容。
[globa] に
printcap name = /etc/printcap
printer name = ps
を追加。事前に printcap は作って置いてください。別に内容は適当でいいです。
ただし、印刷するファイルの容量は制限なしにしておいてください。

次に、Windows からプリンタに見える共有を Samba で作ります。

[PDF writer]
        comment = PDF Writer
        path = /var/tmp/PDF
        printable = Yes
        print command = /var/tmp/PDF/pdfout %s %m &
        guest ok = yes
        printer driver = "Apple Color LW 12/660 PS"
        #use client driver = Yes
        #default devmode = No

これも path 等のパラメータはなんでもいいです。/usr/local/samba/PDF とかにしておいても問題ないです。

次に、利便性追求のために、PDF が作成される先のディレクトリを共有します。

[PDF output]
        comment= PDF Output
        path = /var/tmp/PDF
        browseable = Yes
        writeable = Yes
        guest ok = yes

最後に、ps2pdf を呼び出すために簡単なシェルスクリプトを書きます。
ここでは pdfout という名前にしてます。

#!/bin/bash

psname=$1
client=$2
pdfname=$client-`date +%y-%m-%d-%S`.pdf
/usr/bin/ps2pdf $psname $pdfname
mv $pdfname /var/tmp/PDF
rm -f $psname

当然ながら、このシェルスクリプトには実行パーミッションをつけておいてください。
このシェルスクリプトを実行すると、「NetBIOS名-YYMMDDSS」という PDF ファイルが
作成されます。最後の %S は /var/tmp/PDF にすでに存在しているファイルとのファイル名の
重複を避けるためです。

なんかエラーが出たら、Samba のログを頼りにデバッグしてください。