AirprintプリンタでLPRまたはCUPSを印刷する

AirprintプリンタでLPRまたはCUPSを印刷する

AirprintではなくプリンタをiOSデバイスに配信するためにCUPSを使用するプロセスを説明する多くのブログ記事を見ました。しかし、印刷方法を知っている人がいるかどうかを確認するために、すべてを見てみました。到着Airprintサーバーが組み込まれているプリンター。

特にiDevicesとうまく機能するBrother HL-2340DWがあります。 Airprintを正しく理解したら、iOSはそのプリンタに印刷するために特定のものを知る必要はありません。 IPPを介してプリンタからPDFをある程度生成した後、プリンタはそのタスクを実行します。 iOSで利用可能な唯一の設定オプションは、両面印刷(デフォルトは長いエッジまたはプリンタのデフォルトの両面オプション)と用紙サイズ(たとえば、レターやA4)が必要かどうかです。

私がしたくないのは、「BR-3」またはそれらが使用する独自のプリンタ制御言語を話すために、Brotherのバイナリドライバ(OpenBSDでは利用できません)をインストールすることです。ドライバが印刷オプションに柔軟性を提供していることを知っていますが、実際にはこのプリンタのデフォルト設定を使用します。そういう意味では、より限定的なAirprint機能は完璧です。

さまざまなUNIX印刷システム(CUPS優先)の1つを使用して印刷ジョブをAirprintプリンタに送信することに成功した人はいますか? IPP Everywhereはまだ夢のように見えるため、Airprint対応プリンタはネイティブ印刷サポートに十分なターゲットのように見えます。そうではありませんか?それとも、Airprintプロトコルは私が思ったよりも排他的か混乱していますか?

答え1

AirPrintは基本的にIPP + Bonjour +image/urfラスターイメージフォーマットです。 AirPrint準拠の認証を取得するには、プリンタが少なくともそのimage/urf形式をサポートする必要がありますが、他の形式を受け入れて公開することに問題はありません。

望むより:https://www.finnie.org/2010/11/13/airprint-and-linux/そしてhttps://wiki.debian.org/AirPrint

オープンソースのCUPSからAirPrintプリンタに印刷すると、Bonjour mDNSを使用してプリンタのIPアドレス、IPPポート、および基本機能を検索できます。

面倒なことに、URF形式には次の内容はありません。特許しかし、CUPSにはすでにリバースエンジニアリングurftopdfデコーダが含まれています。しかし、特許上の理由から、無料のURF形式の制作と配エンコーダ法的に要求が厳しく、一部のAirPrintプリンタはURFのみをサポートできるため、「完全な」AirPrintサポートが必要です。

答え2

Ubuntuから:sudo apt-get install Printer-driver-all

これにより、すべてのオープンソースフィルタラッパーとPPDがインストールされます。 3つのプリンタでテストしましたが、「プリンタの追加」の後、独自のソフトウェアをダウンロードしなくても印刷できました。

これがOpenBSDに適用されるかどうかはわかりませんが、CUPSを実行している場合は、Brother HL-2340DWについて次のことを試してください。

Brother-HL-2170W-hpijs-pcl5e.ppd 検索

また、生のPDFをドライバに供給してみましたが(CUPS-PDF.ppdを使用)、AirPrintプリンタでは動作しません。

答え3

このコマンドを使用して、ブラザープリンター(HL-L2370DN、問題のプリンターバージョンに似ています)を設定します。

lpadmin -p Brother -v ipp://xx.xx.xx.xx:631/ipp/print -m everywhere

ここではBrother、任意の名前、xx.xx.xx.xxおよびプリンタのIPアドレスです。 mDNS、検索などを心配する必要がないように、プリンタに固定IPアドレスを割り当てます。その後、他のプログラムから印刷するとプリンタが表示されます。

関連するCUPS文書はここにあります:https://www.cups.org/doc/admin.htmlそしてhttps://www.cups.org/doc/network.html

Brotherプリンターの設定方法を検索中にこの問題が検出され、「AirPrint」に問題があることがわかりました。ネットワークプリンタは、ipp://uriとを渡すことによって選択できるIPPプロトコルをサポートする必要があります-m everywhere。おそらく質問があった場合、これはうまくいかなかったかもしれませんが、AirPrintがIPPに基づいていることを考慮する必要があります。

関連情報