使用Silverlight和com-interop进行打印

时间:2011-08-08 17:03:35

标签: c# silverlight printing com-interop

我正在尝试从没有打印对话框的silverlight打印,因为我正在使用System.Runtime.InteropServices.Automation;

现在我正在创建一个临时的txt文件,其中包含要发送给打印机的文本。

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

之后我使用shell.Aplication打印该文档。

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

问题是,如何在没有临时txt文件的情况下直接打印到打印机?

不要忘记我正在使用浏览器中的Silverlight 4并提升信任度。

1 个答案:

答案 0 :(得分:0)

你应该可以开始记事本并发送你的内容,虽然这不是一个有趣的解决方案:

阅读:Silverlight 4 - send text to Notepad 并且:http://msdn.microsoft.com/en-us/library/8c6yea83(v=vs.85).aspx

基本上, 1.你启动一个记事本的实例。 等一下。 3.将文本发送到记事本 4.发送{PRTSC}进行打印 5.当然,关闭实例;)

祝你好运!