Печать с Silverlight и com-interop - PullRequest
       12

Печать с Silverlight и com-interop

3 голосов
/ 08 августа 2011

Я пытаюсь печатать из silverlight без диалогового окна печати, и для этого я использую System.Runtime.InteropServices.Automation;

Сейчас я создаю временный текстовый файл, содержащий текст для отправки на принтер.

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);

Вопрос в том, как печатать напрямую на принтер без временного текстового файла?

Не забывайте, что я использую Silverlight 4 вне браузера и с повышенным доверием.

1 Ответ

0 голосов
/ 22 августа 2011

Вы должны иметь возможность запустить блокнот и отправить свой контент, хотя это не веселое решение:

Чтение: Silverlight 4 - отправка текста в Блокнот и: http://msdn.microsoft.com/en-us/library/8c6yea83(v=vs.85).aspx

В общем, 1. Вы запускаете экземпляр блокнота. 2. Подождите немного. 3. Отправьте свой текст в блокнот 4. Отправьте {PRTSC} для печати 5. Конечно, закрой экземпляр;)

Удачи!

...