私は、CUPSを使用して非エアプリントプリンターをiOSデバイスに提示するプロセスを説明するブログ投稿を数多く目にしました。しかし、私は誰かが印刷する方法を理解しているかどうかを見つけるために高低を掘り下げましたto Airprintサーバーが組み込まれているプリンター。
特に、iDevicesから見事に動作するBrotherHL-2340DWを持っています。 Airprintを正しく理解していれば、iOSは、そのプリンターで印刷するために特に何も知る必要はありません。それは多かれ少なかれPDF over IPP over the printerであり、プリンターはそのことを行います。iOSで私が得る唯一の構成オプションは、両面印刷が必要かどうかです(デフォルトではlong Edgeに設定されます) 、またはプリンタのデフォルトのデュプレックスオプションが何であれ)、および用紙サイズ(つまり、文字とa4)。
私がやりたくないのは、ブラザーからのバイナリドライバーをインストールすることです(OpenBSDではできません)。これにより、「BR-3」または彼らが使用する独自のプリンター制御言語を話すことができます。それらのドライバーを使用すると、印刷オプションの点で柔軟性が高まることを理解していますが、現実的には、このプリンターのデフォルトを使用します。その意味で、より限定的なAirprint機能は完璧です。
Airprintプリンターに印刷ジョブを送信するために、さまざまなUNIX印刷システム(できればCUPS)のいずれかを正常に取得した人はいますか? IPP Everywhereはまだ夢のように思えるので、Airprint対応のプリンターは基本的な印刷サポートのターゲットとしてはまともです。それとも、Airprintプロトコルは、私が信じているよりも独占的/難読化されていますか?
Ubuntuの場合:Sudo apt-get installprinter-driver-all
これにより、すべてのオープンソースフィルターラッパーとPPDがインストールされます。私は3台のプリンタでテストしましたが、独自のソフトウェアをダウンロードせずに「プリンタの追加」後に印刷できます。
OpenBSDについてはわかりませんが、CUPSを実行している場合は、BrotherHL-2340DWでこれを試してください。
「Brother-HL-2170W-hpijs-pcl5e.ppd」を検索します
また、生のPDFをドライバーに(CUPS-PDF.ppdを使用して)フィードしようとしましたが、AirPrintプリンターでは機能しません。
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ポート、および基本機能を検出するだけで、CUPSでサポートされる印刷ジョブ形式が少なくとも1つあると想定します。うまくいくはずです。
厄介なことに、URF形式は 特許 以外の方法で公に文書化されていませんが、CUPSにはすでにリバースエンジニアリングされたurftopdf
デコーダーが含まれています。ただし、特許があるため、無料のURF形式エンコーダーの作成と配布は法的に難しい場合があります。可能性があるため、AirPrintプリンターの中にはURFのみをサポートします。「完全な」AirPrintサポートに必要です。