2011-08-08 17 views
3

私は印刷ダイアログを表示せずにSilverlightから印刷しようとしていますが、そのためにはSystem.Runtime.InteropServices.Automationを使用しています。Silverlightとcom-interopで印刷

今は、プリンタに送信するテキストを含む一時的なtxtファイルを作成しています。私はその文書を印刷するshell.Aplicationを使用しています。その後

using (dynamic fso = AutomationFactory.CreateObject(@"Scripting.FileSystemObject")) 
{ 
    dynamic file = fso.CreateTextFile(cFileName, true); 
    file.Write(printText); 
    file.Close(); 
} 

dynamic shell = AutomationFactory.CreateObject("Shell.Application"); 
shell.ShellExecute(cFileName, "", "", "print", 1); 

質問は、どうやって一時的なtxtファイルがないプリンタに直接印刷できますか?

私はブラウザからSilverlight 4を使用しており、信頼性が高いことを忘れないでください。

+0

できません。あなたのプロセスの内部に到達するのに十分強力なプロセスはありません。そのプロセスを知り、文字列を取得します。小さなものを汗ばませないでください、ファイルは問題ではありません。 –

+0

@Hans Passantは、メモ帳を使用せずに直接印刷することはできませんか?一時的なテキストファイルを使用する以外に、画面の内容を印刷するための解決策がありますか? –

答えて

0

あなたはメモ帳を起動して、これは何の楽しみのソリューションではありませんが、あなたのコンテンツを送信することができるはずです。

読む:Silverlight 4 - send text to Notepad と:だからbasicly http://msdn.microsoft.com/en-us/library/8c6yea83(v=vs.85).aspx

、 1.メモ帳のインスタンスを起動します。 2.しばらくお待ちください。 )

幸運を、 3.インスタンスを閉じる勿論 5を印刷するため 4. [送信{PrtScキーを}メモ帳にテキストを送ってください!

+0

メモ帳を使わずに直接印刷することはできませんか?一時的なテキストファイルを使用する以外に、画面の内容を印刷するための解決策がありますか? –

関連する問題