Linux LPD Print Server

来源:百度文库 编辑:神马文学网 时间:2024/04/19 17:05:19
Linux LPD Print Server
目的: 在 Linux 建置 LPD Print Server 供 Windows / Linux 使用者列印, 並能備份列印資料(轉成 PDF 檔)、產生使用者列印記錄檔 (Log File)
操作備忘:
在 Fedora Core 3 建置 LPD Print Server 在 Windows 使用使用 Linux Shared LPD Printer 建立虛擬 PDF 印表機 (Using CUPS backend) 利用 Tea4CUPS 進行 Print Job 的備份與記錄
在 Fedora Core 3 建置 LPD Print Server
啟用 cups-lpd
vi /etc/xinetd.d/cups-lpd
disable = no
/etc/init.d/xinetd restart
修改 cupsd 設定
vi /etc/cups/cupsd.conf
### Network Options
Port  631
### Security Options

Allow From your.lan.network/24


Allow From your.lan.network/24

/etc/init.d/cups restart
登入 CUPS 管理頁面新增印表機
以瀏覽器連入: http://your.linux.host.ip:631
出現密碼提示視窗時, 以 root 帳號密碼登入即可
Windows Printer via SAMBA 設定備忘:
smb://account:password@your.samba.or.windows.ip/shared_printer
Konika-Minolta Magicolor 2300DL 設定備忘:
http://gentoo-wiki.com/HARDWARE_Magicolor_2300DL
在 Windows 使用使用 Linux Shared LPD Printer
新增「Print Services for Unix」元件
控制台 → 新增/移除程式 → 新增/移除 Windows 元件 →
Other Network File and Print Services → 詳細資料 → Print Services for Unix
新增印表機
印表機 → 新增印表機 → 本機印表機 (取消勾選「自動偵測並安裝...」) →
建立新的連接埠 → LPR Port →
提供 lpd 的伺服器名稱或位址: your.linux.host.ip
在該伺服器上的印表機名稱或列印佇列: your_printer_name
接著再選用該印表機的驅動程式即可
參考資料:
摩托學園討論區 - 網路分享印表機(LPD)
建立虛擬 PDF 印表機 (Using CUPS backend)
安裝 PDF backend for CUPS
cd /usr/lib/cups/backend
wgetftp://ftp.kde.org/pub/kde/printing/pdfdistiller
mv pdfdistiller pdf
chmod +x pdf
/etc/init.d/cups restart
於 CUPS 網頁管理介面新增 PDF 印表機
Name: pdfprinter
Device: PDF Writing
Device URI: pdf:/path/to/dir/
Make: Postscript
在 Windows 使用剛剛建立的 PDF 印表機
新增印表機→本機印表機→建立新的連接埠→LPR Port
提供 lpd 的伺服器名稱或位址: your.linux.host.ip
在該伺服器上的印表機名稱或列印佇列: pdfprinter
新增印表機:
製造商: HP
印表機: HP Color LaserJet PS (只要是支援 PostScript 的驅動程式就行了)
參考資料:
PDF backend for CUPS
利用 Tea4CUPS 進行 Print Job 的備份與記錄
前置動作: 安裝 subversion 套件
yum install subversion
安裝 Tea4CUPS
svn co svn://svn.librelogiciel.com/tea4cups/trunk tea4cups
cd tea4cups
chmod root:root tea4cups
chmod 700 tea4cups
cp tea4cups /usr/lib/cups/backend
cp tea4cups.conf /etc/cups
安裝 pkpgcounter 頁數計算程序 (for log-operation)
svn co svn://svn.librelogiciel.com/pkpgcounter/trunk pkpgcounter
cd pkpgcounter
python setup.py install
於 CUPS 網頁管理介面新增 Tea4CUPS managed 印表機
在 Device 選單中, 選用 Tea4CUPS managed 開頭的印表機即可
編輯 Tea4CUPS 設定檔
vi /etc/cups/tea4cups.conf
[your_printer_name]
#列印資料前另存一份 PDF 檔
prehook_keep : ps2pdf $TEADATAFILE /path/to/keep/$TEAPRINTERNAME.$TEAJOBID-$TEACLIENTHOST.$TEAUSERNAME.pdf
#寫入 Log 檔
prehook_log : echo `date +%Y/%m/%d\ %H:%M` $TEAPRINTERNAME $TEAJOBID $TEACLIENTHOST $TEAUSERNAME `pkpgcounter $TEADATAFILE` \"$TEATITLE\" >> /var/log/printaccounting.log
以上設定產生之 PDF 檔名實例: your_printer_name.123-192.168.0.1.Jamyy.pdf
Log 檔內容實例: 2006/08/16 15:30 your_printer_name 123 192.168.0.1 Jamyy 1 "測試頁"
標籤説明:
[CUPS Printer Name (queue name)] 可針對不同的 Printer 進行 filter、prehooks、posthooks 設定
filter : 從 stdin 讀入 PostScript 進行處理
prehooks : 資料送交印表機前
posthooks : 資料送交印表機後
環境變數實例:
以下是在 Windows 2000 (Windows 登入帳號: Jamyy)
列印測試頁時, prehooks 階段的 Tea4CUPS 變數內容
TEAPRINTERNAME=myprinter TEADIRECTORY =/var/spool/cups/ TEADATAFILE =/var/spool/cups/tea4cups-myprinter-Jamyy-170 TEAJOBSIZE =105311 TEAMD5SUM =9f890aee9705d380a9e41cd8fed2149f TEACLIENTHOST =192.168.0.1 TEAJOBID =170 TEAUSERNAME =Jamyy TEATITLE =測試頁 TEACOPIES =1 TEAOPTIONS =document-name=測試頁 TEAINPUTFILE =/var/spool/cups/d00170-001 TEABILLING = TEACONTROLFILE=NotUsedAnymore TEASTATUS =
參考資料:
http://www.pykota.com/software/tea4cups
相關網頁:
CUPS Links - Software在 Linux 使用 Samba + CUPS 分享印表機
Posted by Jamyy at 2006年08月16日 16:12
Trackback Pings
TrackBack URL for this entry:
http://cha.homeip.net/cgi-bin/mt/mt-tb.cgi/221
Comments
請問有沒有列印時加入浮水印在每一頁的方法呢~
Posted by: 爆米花 at 2006年09月13日 10:49
將底下這些字串貼入 /etc/cups/ppd/印表機名稱.ppd 最下面
*% Base PostScript watermark option
*OpenUI WatermarkText/Watermark Text: PickOne
*OrderDependency: 10 AnySetup *WatermarkText
*DefaultWatermarkText: None
*WatermarkText None: ""
*WatermarkText Draft: "<>setpagedevice"
*CloseUI: *WatermarkText
*% Custom PostScript watermark option
*CustomWatermarkText True: "<>setpagedevice"
*ParamCustomWatermarkText Text: 1 string 0 32
然後到 CUPS Web 介面, 點選 Printers → Configure Printer
就能在 Extra 項目中發現 Watermark Text 下拉選單
不過就算選擇 "Draft", 再怎麼印也看不出來有何差別 (應該是無效吧)
只能說這是一個線索, 至於要如何實現浮水印的功能還要再多研究了..
參考資料:
http://www.cups.org/documentation.php/spec-ppd.html
http://www.linuxprinting.org/foomatic-db/db/source/PPD/HP/mono_laser/HP_LaserJet_2100_Series.ppd
關鍵字:
cups watermark、cups watermark filter、cups watermark backend
Posted by: Jamyy at 2006年09月13日 15:53
from: http://cha.homeip.net/blog/archives/2006/08/linux_lpd_print.html#more