因為客戶的需求, 想要把所有給客戶的文件全部使用 PDF 寄出, 在不麻煩又節省經濟的情況下, 使用 ghostscript 所產出的 ps 檔印成 PDF 是最好的應用了.
這個需求裡, 小弟只設定了 samba 的設定和安裝 ghostscript 套件就解決, 過程如下:
安裝 ghostscript 套件
root # yum install ghostscript -y
設定 PS Printer 與 PDF 輸出目錄
root # vi /etc/samba/smb.conf
[pdf]
comment = PDF Output DIR
path = /pdf
public = yes
writable = no
printable = no
[pdf-print]
comment = Print to create PDF
printing = LPRNG
path = /var/spool/samba
printable = yes
print command = /usr/local/bin/printpdf %s "%J"
編寫 /usr/local/bin/printpdf script 檔案
root # touch /usr/local/bin/printpdf; chmod +x /usr/local/bin/printpdf; vi /usr/local/bin/printpdf
#!/bin/sh
D=`date +"%Y%m%d_%H%M%S"`
OUTDIR=/pdf echo Converting $1 to $OUTDIR/${D}-$2.pdf >> pdfprint.log
ps2pdf $1 "$OUTDIR/${D}-$2.pdf"
rm $1
chmod 644 "$OUTDIR/${D}-$2.pdf"
建立 pdf 輸出資料夾
root # mkdir /pdf; chmod o+w /pdf
重新啟用 samba
root # service smb restart
Windows Client
當 Server 設定好後, Windows 上基本上只要建立一個支援 GhostScript 的印表機就可以了.
- 連線網路印表機
- 選擇支援 GhostScript 的印表機驅動程式, 我是使用 HP Color LaserJet 2800 Series PS 這個印表機驅動程式.

- 開始列印!
- 到 samba 分享的 pdf 目錄取回轉好的檔案!

- 收工