2011-02-09 36 views
2

ユーザーとのやりとりをすることなく、Windowsサービスから特定のプリンタで文書を印刷するにはどうすればよいですか?Windowsサービスからの印刷

文字列またはテキストファイル。たぶんCrystalreport?

ありがとうございました。

答えて

2

ユーザーの操作を望まない場合は、Windowsサービスやアプリケーションからの印刷方法が重要ではありません印刷ダイアログを表示する必要なく、すべての印刷パラメータを指定する必要があります(これは、WindowsサービスがUIにアクセスできないため不可能です)。

はこちらを参照してください。http://msdn.microsoft.com/en-us/library/system.drawing.printing.printdocument.aspx

+0

残念ながら、Windowsサービスからの印刷は公式にはお勧めできません:[Discussion](http://stackoverflow.com/a/8094/1182448)。 – apdevelop

0

マルチスレッドサービスを作成してください。 Admin previledgesを使用してサービスを作成すると、ユーザーが干渉することはありません。 (実際には、私は「ユーザーとのやりとりを必要とせずに」ということを理解していませんでした)

+0

が、彼はそれは不公平ではありません、質問のその部分を理解していないことを認めたのを考えると、よく@デビッド... MicrosoftのDSUIチームからWindowsサービスからの印刷に関するより多くの情報と例です。彼の答えは正しいとは言えない。あなたはコメントが少し厳しいです。 @パウナン、私はOPは、いくつかのイベントまたはユーザーによってキックオフされない他のトリガのいずれかを介してプログラム的かつ自動的に印刷するメソッドを望んでいると思います。したがって、サービスがマルチスレッドであるかどうかは、ダビッドが指摘したように、この場合は無関係です。 – Joe

+0

@David、そうですね、質問を理解できませんでしたが、自分のレベルに最善を尽くすように努めました。私は学んでいます...心配しないでください。あなたが私よりもうまく答える日が来る。 @ジョー...ありがとう、次回私は答えをする前に質問を理解しようとする。 – PawanS

0
// Class that handles printing 
class MyPrintDocument : PrintDocument 
    { 
     //... 
    } 

印刷したい:

 // Create an instance of your printer class 
     MyPrintDocument printer = new MyPrintDocument(); 

     // Set StandardPrintController so status dialog won't appear 
     printer.PrintController = new StandardPrintController(); 
関連する問題