2009-08-07 45 views
4

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

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

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

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

答えて

4

シンプルソリューションIMHOは、PDFをRightFaxサーバーのフォルダにドロップすることです。次に、埋め込みコードまたはFCL(Fax Command Language)を使用してドキュメントを誰に送信するかに関するすべての指示を含む小さなテキストファイルを作成します。私たちはこれをいつもやっていて、うまくいきます。注:FAXコマンドは、インテグレーションモジュールがある場合にのみ使用できます。埋め込みコードとFCLにはそれぞれファイルを添付するコマンドがあります。 RightFaxがこのテキストファイルを受信すると、コマンドを処理してPDFを添付し、ドキュメントを電子メールで送信します。ここには2つの例があります(1つは埋め込み、もう1つはFCL)。

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

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

FCLコードファイル:RightFaxに、この単純なテキストファイルを送信

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

は、指定された文書を処理して挿入することを要求されます。一度送信されたファイルを削除するようにRightFaxに指示する厄介なADDDOCコマンドと切り替えがあります。

埋め込みコードファイルはHPFAXキュー経由で送信でき、FCLはプロダクション受信トレイ経由で送信できます(c:\ program files \ rightfax \ production \ inbox)。

これは多くのコントロールを提供し、表示可能なPDFをまだ持っているのでトラブルシューティングが容易になります(実際にテキストを貼り付けることがなかったため)コードやFCLファイルを別のフォルダに移動して表示したり、メモ帳などの簡単なツールで修正することもできます。


編集:オープンソースを使用すると、ファイルを一緒に連結することができていることが正しいですが、私は長い時間(末尾の例を参照)のために埋め込まれたコードでこれを行っていないが、あなたが持っている場合(FCLと同様のものを行っていますあなたはこれを行うことができます)。

データに埋め込まれたPDFまたはPostScriptとFCL(RightFax扱いPSやPDF): {{}開始} {{ファックス999999999}} {{ダグラスアンダーソン連絡}} {{billinfo1 12346}} { {nocover}} {{ beginpostscript}} %PDF-1.3 ... ...あなたのpdf ... {{endpostscript}} {{終了}}

PCL変異体は次のようになります。

{{begin}} 
{{fax 999999999}} 
{{contact Douglas Anderson}} 
{{billinfo1 12346}} 
{{nocover}} 
{{beginpcl}} 
...your pcl data... 
{{endpcl}} 
{{end}} 
0 (私たちは長い時間前にやった何かからの私のノートごとなど)組み込みコードと

Falseの最初のページ:

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

あなたが送るものは何でも「最初のページ」に表示されますが、これは削除されます。もう1つの選択肢は、文書の最後にFormfeedの後にこのデータを送信し、<DELETELASTPAGE>オプションを使用することです。このデータは、PCLファイル自体とインラインで表示されることもあります。そのため、<DELETEFIRSTPAGE>コマンドとフォームフィードスプリッタを使用しないジョブの開始時にデータを送信できる場合があります。

+0

正しく理解するために:埋め込まれたコードファイルで、添付されたPCLファイルは、RightFaxサーバーからアクセス可能な場所になければなりません。これが不可能な場合は、唯一のオプションはHPFAXキューを介して埋め込みコードを含むPCLファイルを送信することです。 – Khandelwal

+0

アクセス可能にする必要があります。しかし、PCLである必要があります。これは、PDFやRightFaxが入力(TIF、JPG、Wordなど)のためにサポートしている他のタイプにすることができます。ファイルをサーバーに書き込めない場合は、RightFaxがアクセスできる共有を介してファイルにアクセスできます。 「OpenSource」は、このデータをファイルの先頭に送ることもできることを示しています。正しい用語は「false first page」です。埋め込みコードでこれを行うのではなく、Postscript、PCL、およびPDFと同様のことを行っています。 –

+0

埋め込みコードでこれを行うのではなく、Postscript、PCL、およびPDFドキュメントで同様のFCLを実行しました –

0

JPSを使用すると、ファイルに印刷できるため、PCLプリンタでファイルに印刷するだけで済みます。

-1

ファイルへの印刷は正しいアプローチと思われます。

2

私たちは非常に似た処理をしています。私たちは、pclファイルと制御ファイル(rig​​htfax命令を含むテキストファイル)を持っています。これらの2つのファイルをjava NIOを使用して連結し、rightfaxプリントキューに送ります。基本的には、新しいファイルを作成し、stream.getChannel()が取得したチャンネルのtransferFrom()メソッドを使用して、上記の2つを新しいファイルに書き込みます。私たちはあなたが言及したように、下部にない制御命令を上部に置いていますか?あなたはそれを誤解されるかもしれない - 私はRightfaxがそれを一番上に必要と思う。私はそれを一番下に送信しようとしていないことを認めなければならない。それはちょうど知られていない動作することがあります。

+0

コマンドが最下位にあることを示すわけではありませんでした。私はこれを試しませんでした。 – Khandelwal

関連する問題