0

これは単純なはずですが、私の人生では、それを実行する方法がわかりません。私がやりたいことは、フォルダーからファイルを読み取り、それらをプリンターに送信することです。

そこで、Camel のプリンター コンポーネントのドキュメントを見てみましたが、わかりやすいように思えました。

次の DSL ルートを作成しました。

  <camelContext trace="false" id="blueprintContext" xmlns="http://camel.apache.org/schema/blueprint">
  <route id="printSpoolRoute">
    <from uri="file:d:/printspool?delay=1000&amp;move=.done/printed/${date:now:yyyyMMdd}/${file:onlyname.noext}_DONE_${date:now:yyyyMMddHHmmss}.${file:name.ext}&amp;readLock=changed&quot;"/>
    <to uri="lpr:localhost/default?flavor=DocFlavor.INPUT_STREAM&amp;mimeType=AUTOSENSE&amp;mediaSize=iso-a4"/>
  </route>
</camelContext>

起動すると、次の例外が発生します。

[ Blueprint Extender: 1] BlueprintCamelContext ERROR Error occurred during starting Camel: CamelContext(blueprintContext) due Failed to create Producer for endpoint: Endpoint[lpr://localhost/default?flavor=DocFlavor.INPUT_STREAM&mediaSize=iso-a4&mimeType=AUTOSENSE]. Reason: java.lang.NullPointerException org.apache.camel.FailedToCreateProducerException: Failed to create Producer for endpoint: Endpoint[lpr://localhost/default?flavor=DocFlavor.INPUT_STREAM&mediaSize=iso-a4&mimeType=AUTOSENSE]. Reason: java.lang.NullPointerException

例外に詳細があれば、何かを探すことができるかもしれないので、印刷プロデューサーの URI を間違えたのではないかと思います。

プリンター プロデューサーの URI を見ているときに、ネットワーク プリンターを使用するときに URI の理解が正しいかどうかを確認したかっただけです。

HP LaserJet 4104 という名前のサーバー コール SRV-07 に接続されたネットワーク プリンターでドキュメントを作成したいとします。次の URI が正しいとします。

<to uri="lpr:SRV-07/HP LaserJet 4104?flavor=DocFlavor.INPUT_STREAM&amp;mimeType=AUTOSENSE&amp;mediaSize=iso-a4"/>

名前に含まれるダッシュとスペースが心配です。このコンポーネントを以前に使用したことがある人は、ここでいくつかの光を当てることができます.

4

1 に答える 1

1

参考までにここに残しておきましょう。

答えは、このリンクmediaSizeにあるドキュメントに従ってパラメーターを指定する必要があるということです。の代わりにas というパラメーターがありました。ラクダの開発者は、ここでもう少し説明的な例外を与えることができるかもしれません。iso-a4ISO_A4

また、ネットワーク プリンターの URI に関する質問は、私が指定したとおりに機能します。

于 2013-09-13T01:20:23.513 に答える