Я сейчас работаю над проектом, который включает в себя получение сообщения от другого приложения, форматирование содержимого этого сообщения и отправку его на принтер. Технология выбора - это сервис Windows C#. Вывод можно назвать отчет, я полагаю, но механизм отчетности не нужен. Простой шаблонный движок, такой как StringTemplate или даже XSLT вывод HTML, будет в порядке. Проблема, с которой я сталкиваюсь, заключается в том, чтобы найти свободный способ распечатать такой вывод из службы. Поскольку он кажется, что он будет работать, я работаю над прототипом с использованием RDLC Microsoft, заполняя локальный отчет и затем представляя его как изображение в поток памяти, который затем буду печатать. Проблемы с этим:Печать с .NET-сервиса
- Многостраничная печать будет большой головной болью.
- По-прежнему необходимо использовать PrintDocument для печати потока памяти, который не поддерживается в службе Windows (хотя это может сработать - еще не дошло до прототипа)
- Если данные, поступающие через изменения, у меня есть для изменения набора данных и класса, в котором десериализуются данные. плохой плохой плохой.
Должен ли кто-нибудь делать что-либо дистанционно? Любой совет? Я уже задавал вопрос о том, как печатать HTML без ввода пользователем, и, потратив около 3 дней на это, я пришел к выводу, что это невозможно сделать, по крайней мере, без какого-либо свободно доступного инструмента.
Вся помощь приветствуется.
EDIT: Мы находимся на версии 2.0 .NET Framework.
GDI + никогда не разрабатывался и не тестировался для работы в контексте обслуживания. Вот почему это не работает. Вы должны использовать GDI и его функцию для рисования. Обратитесь к этому документу, чтобы найти эквивалентные вызовы Win32: http://msdn.microsoft.com/en-us/library/aa302340.aspx#win32map_printingfunctions – Signcodeindie