ユーザーとのやりとりをすることなく、Windowsサービスから特定のプリンタで文書を印刷するにはどうすればよいですか?Windowsサービスからの印刷
文字列またはテキストファイル。たぶんCrystalreport?
ありがとうございました。
ユーザーとのやりとりをすることなく、Windowsサービスから特定のプリンタで文書を印刷するにはどうすればよいですか?Windowsサービスからの印刷
文字列またはテキストファイル。たぶんCrystalreport?
ありがとうございました。
ユーザーの操作を望まない場合は、Windowsサービスやアプリケーションからの印刷方法が重要ではありません印刷ダイアログを表示する必要なく、すべての印刷パラメータを指定する必要があります(これは、WindowsサービスがUIにアクセスできないため不可能です)。
はこちらを参照してください。http://msdn.microsoft.com/en-us/library/system.drawing.printing.printdocument.aspx
マルチスレッドサービスを作成してください。 Admin previledgesを使用してサービスを作成すると、ユーザーが干渉することはありません。 (実際には、私は「ユーザーとのやりとりを必要とせずに」ということを理解していませんでした)
が、彼はそれは不公平ではありません、質問のその部分を理解していないことを認めたのを考えると、よく@デビッド... MicrosoftのDSUIチームからWindowsサービスからの印刷に関するより多くの情報と例です。彼の答えは正しいとは言えない。あなたはコメントが少し厳しいです。 @パウナン、私はOPは、いくつかのイベントまたはユーザーによってキックオフされない他のトリガのいずれかを介してプログラム的かつ自動的に印刷するメソッドを望んでいると思います。したがって、サービスがマルチスレッドであるかどうかは、ダビッドが指摘したように、この場合は無関係です。 – Joe
@David、そうですね、質問を理解できませんでしたが、自分のレベルに最善を尽くすように努めました。私は学んでいます...心配しないでください。あなたが私よりもうまく答える日が来る。 @ジョー...ありがとう、次回私は答えをする前に質問を理解しようとする。 – PawanS
この使用してCrystalレポート上の別の議論があります: Print without Printer selection dialog
そしてここでは、印刷のhtmlうまくいけば Print html document from Windows Service without print dialog
のための別の一つだ、彼らはあなたの中に始めますよ正しい方向。
// 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();
あなたがWin32 GDI APIを利用するべきWindowsのサービスから '静かに' 印刷します。
Microsoft .NETアプリケーションを開発する場合は、Platform Invocation Services(PInvoke)を使用してWin32 GDI APIを呼び出して印刷することができます。 Heres a nice PInvoke tutorial。 Take a look here for Win32 GDI methods etc。ここで
残念ながら、Windowsサービスからの印刷は公式にはお勧めできません:[Discussion](http://stackoverflow.com/a/8094/1182448)。 – apdevelop