Нам нужно периодически печатать отчет из службы Windows, мы используем .NET 2.0.
У нас есть модули, которые создают этот отчет в формате PDF или как HTML файл, PDF файл будет лучше, потому что мы лучше контролируем внешний вид отчета.
У нас также есть имя пользователя, пароль и имя принтера, выбранного для задачи.
Я искал и исследовал несколько опций о том, как печатать PDF файлы из службы Windows, а именно с помощью Acrobat Reader из командной строки и не мог заставить ее работать.
Acrobat Reader кажется ненадежным и сложным в использовании, также нам нужно гарантировать, что он будет запущен на наших клиентских машинах.
У вас есть решение для этого, которое может быть в стороннем компоненте?
Благодаря
Мы обнаружили эту скрытую жемчужину библиотеки с открытым исходным кодом под названием pdfprint #, которая делает именно то, что нам нужно.
Кажется, он основан на XPDF, который является библиотекой с открытым исходным кодом на С++.
Автор написал на форуме, что "Принтер должен быть пост-script способен, библиотека отправляет необработанную постскриптум на принтер". и я задаюсь вопросом (и боюсь), насколько большой проблемой будет это...
Спасибо всем за вашу помощь!
Возможно, вы могли или не могли задать вопрос, который я задал об этом здесь, который может дать вам некоторые подсказки, если вы все-таки вынуждены использовать Acrobat.
В противном случае этот коммерческий сторонний компонент будет делать то, что вы хотите - abcpdf. Это потокобезопасное BTW.
P.S. Вам понадобится профессиональная версия, потому что только версия pro поддерживает рендеринг.
Если вы используете Crystal Reports, вы можете использовать встроенную функцию Crystal Report для печати отчета с использованием кода, подобного этому.
oReport.PrintOptions.PrinterName = "PrinterName";
oReport.PrintToPrinter(1, true, 0, 0);
Или вы можете указать здесь еще одну опцию Как отправить необработанные данные на принтер
Это довольно распространенный сценарий, который я слышу от наших клиентов, используя ActiveReports для запуска отчета и печати его из службы. Еще один приятный момент в использовании ActiveReports заключается в том, что помимо возможности распечатать отчет вы сможете сохранить тот же отчет, что и PDF, HTML или Excel, и не должны вносить какие-либо изменения в отчет.
Scott Willeke
Data Dynamics / GrapeCity
Вы можете выполнить инструмент командной строки? (e.q. вы используете веб-сайт приложения НЕ (hta также должен работать))
Если это так, возможно, использование Crystal Reports (установить тип экспорта в PDF) в сочетании с инструментом бесплатного экспорта (поиск crexport в Google) является хорошим решением.
Также есть много компонентов экспорта в формате PDF для .NET, возможно, достаточно написать собственное приложение для командной строки?