.NETを使用してRigthFaxサーバーから別のRigthFaxサーバーにFAXを転送する方法はありますか?
2 に答える
COM.NETAPIを 使用してこれを行う方法がないことがわかりました 。このAPIは、1つのRightFaxサーバー内でのみ機能します...
ファックスを移動する場合は、2番目のサーバーで(同じプロパティを持つ)ファックスを作成してから、最初のサーバーでファックスを削除する必要があります。
これは手動のプロセスであり、コードを段階的に記述しますが、実行することもできます。
2つの個別のfaxserverオブジェクト(サーバーごとに1つ)が必要になります。
faxserver1(ファックスのソース)の場合、ファックスオブジェクトを作成します:ファックスを含むfax1(これはファックスのハンドルから取得できます)。また、FAXイメージもダウンロードする必要があります(これはローカルドライブ上のTIFファイルになります)。
対象のFAXサーバー(宛先)の場合、別のFAXオブジェクトfax2を作成する必要があります(ただし、FAXServer2でFAXを検索することはありません)。
fax2にfax1のすべてのプロパティ値(ToName、ToFaxNumber、ToCompany、BillingInfo1など)を入力します。また、プロパティを設定し、プレビューのために保持し、trueに設定します。それに応じてOwnerIdを設定することを忘れないでください!簡単にするために、HasCoversheetをFALSEに設定します(実際のカバーシートは引き続きコピーされ、FaxUtilではカバーシートとして認識されません)。TIFファイル(ソースFAXから、カバーシートが存在し、これがアウトバウンドFAXであった場合、これにはカバーシートが含まれます)をAddDocコレクションに追加してから、Fax2.Send()を呼び出します。
送信呼び出しの後、次のように呼び出します。RFHandle2 = Fax2.Handle()
これにより、新しいサーバーで、元のFAXと同じであるアウトバウンドFAXが作成されます。[(ループ内で)30秒待ってから、
Fax2 = FaxServer2.Fax(RFHandle2)
Fax2.FaxStatusをチェックして、それがHeldForPreviewであるかどうかを確認します(ファックスの作成に問題がある場合は、エラーコードもチェックする必要がある場合があります)。
HeldForPreviewに設定すると、次のように設定できます(該当する場合)
Fax2.IsRecievedEx = Fax1.IsRecieved(はい、アウトバウンドファックスをインバウンドファックスに変更できます!)
Fax2.FaxStatusEx = Fax1.FaxStatus
Fax2.FaxErrorCodeEx = Fax1.FaxErrorCode
Fax2.UniqueID = Fax1.UniqueID(これを実行する場合と実行しない場合があります。この値は、サーバー上で一意である必要はありません)。
Fax2.Save(False)-False値は、FAXがキックされないようにするためのものです。
例外が発生しない場合は、元のファックスを削除できます
Fax1.Delete()
注:FAX履歴はコピーされません。ファックス記録とその画像のコピーしかありません。
カバーシートの概念を維持するために実行できるトリックがあります(これが元々アウトバウンドファックスであった場合)が、ここで説明するのは少し多いです。ワークフロー製品には、この種のものを自動化するソフトウェアがあります。