目次

Lenovo プリンタを Raspberry Pi につないでネットワークプリンタ化する方法

プリンタを Raspberry Pi に接続する大きな利点のひとつは、たとえ有線プリンタであっても、リモート印刷を使えるようにできることです。

Raspberry Pi をセットアップしてプリンタと接続する方法については、すでにインターネット上にたくさんの記事があります。CUPS を使った設定方法も、たとえば How to add a printer to your raspberry pi or other Linux Computer のような記事で十分に紹介されています。なので、この部分はこの記事の主題ではありません。

この記事で扱うのは、メーカー純正のプリンタドライバパッケージから PPD ファイルを取り出す方法です。CUPS にそのプリンタのネイティブ対応がない場合、Linux システム(もちろん Raspberry Pi も含みます)ではこのファイルが必要になります。

具体例として、ここでは Lenovo M7605D を使います。

PostScript Printer Description (PPD) ファイル

PPD ファイルは Adobe によって策定されたもので、Wikipedia によると、PostScript プリンタが持つ機能や能力一式を記述した情報です。ざっくり言えば、ドキュメントが印刷サービスに送られたときに、プリンタがそれをどう解釈して印刷するかを定義するファイルです。

PPD ファイルの場所を探す

Lenovo の ドライバ配布ページ からドライバパッケージ(ISO ファイル)をダウンロードし、展開して /install フォルダを開くと、多数の機種別フォルダが見つかります。

/posts/2020/adding-lenovo-printer-to-raspberry-pi/image-20200725212618877.png
The Driver Page

/posts/2020/adding-lenovo-printer-to-raspberry-pi/image-20200725213307035.png
展開後の /install フォルダ

その中に進むと、/install/M7605D/chneng/Brinst_Lang.ini というファイルがあり、ここにその機種用の PostScript ドライバの場所が書かれています。

/posts/2020/adding-lenovo-printer-to-raspberry-pi/image-20200725214711228.png
PostScript ドライバの場所

そのディレクトリに入ると、いくつかの .pp_ ファイルが見つかります。これこそが欲しいものです。

/posts/2020/adding-lenovo-printer-to-raspberry-pi/image-20200725215405411.png
ドライバを発見。どうやら m7605d は m7675dxf / m7615dna と同じドライバを使っているようだ

.pp_ ファイルを展開する

Lenovo が提供している pp_ 拡張子のファイルは、実際には圧縮された ppd ファイルでした。(最初に中身を見たときは意味不明な文字列ばかりだったので暗号化されているのかと思いましたが、そうではありませんでした。)

/posts/2020/adding-lenovo-printer-to-raspberry-pi/image-20200725220428041.png
ファイル先頭の SZDD は、今ではあまり見かけない古い圧縮形式であることを示している
/posts/2020/adding-lenovo-printer-to-raspberry-pi/image-20200725221019932.png
Wikipedia にある SZDD ファイルの説明

少し検索してみると、この形式は MS-DOS の EXPAND.EXE で展開できると分かりました。さらに意外なことに、7-ZIP でもそのまま展開できます。

/posts/2020/adding-lenovo-printer-to-raspberry-pi/image-20200725221752876.png
7-ZIP で直接展開できた。もっとオタクっぽくやるなら Windows の EXPAND コマンドでもよい

最終的に、.ppd ファイルを無事に取り出せました。

/posts/2020/adding-lenovo-printer-to-raspberry-pi/image-20200726001822968.png
完了