目的: 在 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

<Location />

Allow From your.lan.network/24

</Location>

<Location /admin>

Allow From your.lan.network/24

</Location>

/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

接著再選用該印表機的驅動程式即可

參考資料:

建立虛擬 PDF 印表機 (Using CUPS backend)

安裝 PDF backend for CUPS

cd /usr/lib/cups/backend

wget ftp://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 的驅動程式就行了)

參考資料:

利用 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     =

參考資料:

arrow
arrow
    全站熱搜

    安德森 發表在 痞客邦 留言(1) 人氣()