4

私のJavaアプリケーションには、最終的にPCLに変換してRightFaxサーバーに送信する必要があるPDFファイルがあります。また、RightFaxがFAXの送信先を知るために読み取るPCLファイルにコードを埋め込む必要があります。

これを行うための最良のアプローチは何ですか?

オンラインで検索すると、JavaのStreamPrintServiceを使用してPDFファイルをPCLに印刷できるようです。これは正しいです?これは、PCLを解釈できるプリンターをOSにインストールしている必要があることも意味しますか?

PCLファイルが生成されたら、ファイルに埋め込まれたコードを追加する必要があります。ファイルの最後にコードを追加しますか(Javaで開いて書き出すことにより)?

4

4 に答える 4

5

単純な解決策であるIMHOは、PDFをRightFaxサーバー上のフォルダーにドロップすることです。次に、Embedded CodesまたはFCL(Fax Command Language)を使用して、ドキュメントの送信先などに関するすべての指示を含む小さなテキストファイルを作成します。私たちは常にこれを行っており、それは素晴らしい働きをします。注:Fax Command Languateは、統合モジュールがある場合にのみ使用できます。埋め込みコードとFCLの両方に、ファイルを添付するコマンドがあります。RightFaxがこのテキストファイルを受信すると、コマンドを処理し、PDFとFAXを添付するか、ドキュメントを電子メールで送信します。次に2つの例を示します(1つはEmbedded、もう1つはFCL)。

埋め込みコードファイル:

<TOFAXNUM:999999999>
<TONAME:Douglas Anderson>
<BILLINFO1:12345>
<NOCOVER>
<WHO:DOUG>
<ADDDOC2: C:\pdfFiles\12345.pcl>

FCLコードファイル:

{{begin}}
{{fax 999999999}}
{{contact Douglas Anderson}}
{{billinfo1 12346}}
{{nocover}}
{{attach C:\pdfFiles\12345.pcl delete}}
{{imagetype pdf}}
{{end}}

この単純なテキストファイルをRightFaxに送信すると、指定したドキュメントを処理して挿入するように求められます。送信されたファイルを削除するようにRightFaxに指示するATTACH用のさまざまなADDDOCコマンドとスイッチングがあります。

埋め込みコードファイルはHPFAXキューを介して送信でき、FCLは本番受信ボックス(c:\ program files \ rightfax \ product \ inbox)を介して送信できます。

これにより、多くの制御が可能になり、(先頭にテキストを貼り付けなかったために)表示可能なPDFがまだあるため、トラブルシューティングが容易になり、埋め込みコードまたはFCLファイルを簡単に出力できます。メモ帳などの簡単なツールで表示したり変更したりするための代替フォルダに移動します。


編集:OpenSourceは、ファイルを連結できるということは正しいです。私はこれをEmbedded Codesで長い間行っていませんが(最後の例を参照)、FCLで同様のことを行っています(Ingetration Moduleがある場合はこれを行うことができます) 。

PDFまたはPostscriptがデータに埋め込まれたFCL(RightFaxはPSおよびPDFを処理します):{{begin}} {{fax 999999999}} {{contact Douglas Anderson}} {{billinfo1 12346}} {{nocover}} {{beginpostscript}} %PDF-1.3......あなたのPDF...{{endpostscript}} {{end}}

PCLバリアントは次のようになります。

{{begin}}
{{fax 999999999}}
{{contact Douglas Anderson}}
{{billinfo1 12346}}
{{nocover}}
{{beginpcl}}
...your pcl data...
{{endpcl}}
{{end}}

埋め込まれたコードを含む誤った最初のページ(私たちがずっと前にしたことからの私のメモによると):

<TOFAXNUM:999999999>
<TONAME:Douglas Anderson>
<BILLINFO1:12345>
<NOCOVER>
<WHO:DOUG>
<DELETEFIRSTPAGE>
*PCL formfeed character*
...your pcl data...

送信したものはすべて「最初のページ」に表示されますが、これは削除されます。もう1つのオプションは、フォームフィードの後に​​このデータをドキュメントの最後に送信し、<DELETELASTPAGE>オプションを使用することです。<DELETEFIRSTPAGE>このデータは、PCLファイル自体とインラインで表示されることもあるため、コマンドとフォームフィードスプリッターを使用せずに、ジョブの開始時に送信できる場合があります。

于 2009-08-10T12:32:54.267 に答える
2

非常によく似たプロセスがあります。ここでは、pcl ファイルと制御ファイル (rightfax の指示を含むテキスト ファイル) を作成します。Java NIO を使用してこれら 2 つのファイルを連結し、rightfax 印刷キューに送信します。基本的には、新規ファイルを作成し、stream.getChannel() で取得したチャネルで transferFrom() メソッドを使用して、上記の 2 つを新規ファイルに書き込みます。あなたが言及したように、制御命令を下部ではなく上部に配置しますか? 間違っているかもしれません-Rightfaxは一番上にそれを必要としていると思います。私はそれを一番下に送ろうとしなかったことを認めなければなりません。知らないだけでうまくいくかもしれません。

于 2009-08-07T18:29:29.487 に答える
0

JPS ではファイルに出力できるため、PCL プリンターでファイルに出力するだけで済みます。

于 2009-08-07T15:22:40.860 に答える
-1

ここでは、print-to-file が正しいアプローチのようです。

于 2009-08-07T15:33:46.347 に答える