9

ドライバーをインストールできないデバイス/アプライアンスがあります。ユーザーに IP アドレスを追加してもらい、ネットワーク/IPP/AirPrint プリンターをサポートする機能を追加したいと考えています。

Windows (IPP を使用する) から印刷していないので、自分で IPP を使用するにはどうすればよいですか? IPP プロトコルを使用して IPP プリンターとやり取りできる ac# クライアント (または任意の Windows ライブラリ) はありますか?

4

2 に答える 2

9

さまざまなプログラミング言語 (java/php/python) で使用できる IPP クライアント実装と IPP ライブラリがいくつかあります。実用的な解決策は、 http://cups.org/software.phpipptoolで入手できるを使用することです。と呼ばれるipp-command-file を作成します。printjob.ipp

{
 OPERATION Print-Job
 GROUP operation-attributes-tag
  ATTR charset attributes-charset utf-8
  ATTR language attributes-natural-language en
  ATTR uri printer-uri $uri
 FILE $filename
}

これで、次のオプションを使用して PDF ファイルを印刷できるようになります。

ipptool -tv -f mydoc.pdf ipp://192.168.2.207 printjob.ipp

プリンター (またはプリント サーバー) が、送信するドキュメント形式をサポートしていることを確認してください。アプリケーションで外部コマンドを実行する方法に精通していることを前提としています。

は CUPS によって提供されますがipptool、どの IPP プリンターでも完全に機能します。適切な printer-uri-scheme または use については、RFC 3510またはプリンターのドキュメントを確認してくださいippfind

経験豊富な開発者は、好みのプログラミング言語とエコシステムで印刷ジョブ操作を実装できるはずです。上記のユース ケースを 100 行のコードで kotlin に実装しました: https://github.com/gmuth/ipp-printjob-kotlin

これは、Java での私の最小限の PrintJob 実装です: https://github.com/gmuth/ipp-printjob-java

于 2015-01-28T20:44:16.277 に答える