2011-08-20 15 views
1

私はC#でWindowsサービスを開発しました。今私は特定のファイル(特定のプリンタにTIFF、PDF、HTML、MHTまたはテキストでもよい)を印刷できる方法を探しています。問題は、プロセスで印刷して動詞として印刷するときに、どのように特定のプリンタを設定できるかです。また、Windowsサービスでプロセスを使用する方法もありますか? - ウィンドウを表示すべきではありません。ファイルを特定のプリンタに印刷する方法

答えて

2

この提案されたアプローチは、私の見解では失敗する可能性があります。シェル動詞を使用して印刷すると、関連付けられたアプリケーションが呼び出されて印刷が実行されます。これらのファイルタイプの多くでは、サービスで失敗するUIが表示されます。

あなたが言及したすべてのファイルタイプは、他のアプリケーションに頼らずにサービスから直接印刷することができます。より多くのコーディングが必要になりますが、それはサービスにとって最も実行可能なソリューションだと思います。

これは、対話型デスクトップで実行されている標準のアプリから行うこともできます。それはうまくいくはずです。私はあなたがこのコードを実行するマシンのハードウェアとソフトウェアの設定を制御していることを前提としています。さもなければ、シェル動詞を使用すると、壊れやすい脆弱なアプローチになります。ランダムな顧客のマシン上でどのようなファイルの関連付けが行われているかを知っていますか?

2

"Printto"動詞にはプリンタ名の引数が必要です。詳細はthis sample in MSDNを参照してください。

0

PDFを無人で印刷すると、PDFの場合はAdobe EULAに違反することに注意してください。 .pdf拡張子がAdobe PDF Reader(またはこのシナリオではプリンタ...)に関連付けられていると仮定します。