Raspberry Pi 筆記(42):iPhone 雲端列印 AirPrint

目前看公司郵件大多使用手機,有些文件在手機上,如果要印出來,就得大費周章,從手機上傳到雲端儲存空間或是透過 Mail 的方式將檔案寄出來,在筆電開啟後印出來。如果 Pi 可以當作 Printer Server (那是一定可以的),且支援 AirPrint 遠端列印功能 (我用的是 iPhone手機),就很完美了。透過手機就可直接將文件從印表機印出來,只是不知要安裝何種套件?有沒有支援 Pi?Google一下,找到 CUPS 這套軟體具備 AirPrint功能,不僅是開放源碼,且支援 Pi 的作業系統,以下就來看看如何安裝。


CUPS(為 Common Unix Printing System,UNIX 通用列印系統的縮寫,是一個類 Unix 操作系統的組合式印刷系統,允許一台電腦作為列印伺服器。CUPS接受一個客戶端的電腦進程,並送到相應的印表機。目前開發廠商是頻果公司,為了提供 macOS 及其他類 Unix的作業系統使用的列印系統,CUPS使用 Internet Printing Protocol (IPP) 協定作為本機及網路印表機的通訊,目前最新版是 2.2.3。

[圖片取自:維基百科]

[安裝步驟]

(1) 更新 Pi 系統
$ sudo apt-get update
(2) 安裝及設定 CUPS
• 安裝CUPS主程式:
$ sudo apt-get install cups
• 將使用者 pi 加入 lpadmin 管理印表機群組
$ sudo usermod -a -G lpadmin pi
• 備份一份設定檔,並修改CUPS設定檔
$ sudo cp /etc/cups/cupsd.conf /etc/cups/cupsd.conf.bak
$ sudo nano /etc/cups/cupsd.conf

找到 Listen localhost:631 那一行,前面加上 # 當作註解,另外加上一行 Port 631。

找到 Restrict access to the server 那一行,在 Order allow,deny 下加一行 Allow @Local,如下圖紅色底線部分,存檔離開。


• 重新啟動 CUPS 服務。
$ sudo service cups restart


(3) 安裝 Fuji-Xerox CM205印表機驅動程式
我的印表機型號是 Fuji-Xerox CM205b,原廠網站沒有提供支援 Linux 的驅動程式,我是到  The Linux Foundation -OpenPrinting 這個網站去查一下CUPS是否有支援我的印表機型號。很幸運的有支援CM205,建議的驅動程式是 foo2hbpl2。各位可以依據自己的印表機設定或安裝驅動程式。


• 安裝 foo2hbpl2之前,需先安裝 ghostscript,指令如下:
$ sudo apt-get install ghostscript
• 安裝 foo2hbpl2 印表機驅動程式,foo2zjs是一個開放源碼的軟體
$ wget -O foo2zjs.tar.gz http://foo2zjs.rkkda.com/foo2zjs.tar.gz
• 解壓縮:
$ tar zxf foo2zjs.tar.gz
$ cd foo2zjs
• 進行編譯:
$ make
• 安裝 foomatic XML 及其他檔案:
Install driver, , and extra files:
$ sudo make install
• 重新啟動 spooler:
$ sudo make cups

(4) 連線設定新增印表機
開啟瀏覽器連上 CUPS 的 Web 介面,需使用 HTTPS 協定,而且要指定 Port 631。以我的 pi為例,IP是 192.168.1.103,直接在瀏覽器列輸入:
https://192.168.1.103:631


• 按下 [Administration],出現需要驗證的畫面,使用者名稱輸入 pi,填入密碼,按[登入]:

• 新增印表機,按下 [Add Printer],選擇 Local Printers下的 FUJI XEROX印表機,按下[Continue]。


• 在 Sharing 的方塊要選取,按下[Continue]。

• 在 Make 項目選擇 Fuji Xerox,按下[Continue]。

• 在 Model項目選擇 CM205 型號,按下[Add Printer]。

• 如果沒有適合的驅動程式,也可以上傳 PPD (PostScript Printer Description)檔,作為印表機的驅動設定。按下[Add Printer]。

• 我的印表機支援彩色列印,需將 Color Mode 設定為 Color,否則列印出來的文件,只有黑白的。

[iPhone列印測試]

在 iPhone手機的郵件中找到一封有 Pixar 圖片的廣告郵件當作範例,按下左圖紅框的按鍵,出現右圖後,再按下[列印]。



按下[印表機]會出現如右圖的選項,選擇印表機,回到左邊畫面,設定列印份數及列印範圍,按下[列印]即可。



印出結果:左邊沒設定預設為Color,設定後可正常印出右邊的彩色文件。

[參考資料]

• 維基百科:CUPS
• Fuji-Xerox CM205 Printer Driver:foo2hbpl: a linux printer driver for HBPL protocol
• Techradar:How to turn the Raspberry Pi into a wireless printer server

1 留言

  1. 請問,我要如何查詢
    HP Color LaserJet CM2320fxi
    是支援的呢?謝啦!

    回覆刪除

張貼留言

較新的 較舊