Печать отчета из службы Windows - PullRequest
2 голосов
/ 07 апреля 2009

Нам нужно периодически печатать отчет из службы Windows, мы используем .NET 2.0.
У нас есть модули, которые создают этот отчет в формате PDF или в виде файла HTML, PDF лучше, потому что мы лучше контролируем внешний вид отчета.
У нас также есть имя пользователя, пароль и имя принтера, выбранного для задачи. Я искал и исследовал несколько вариантов печати файлов PDF из службы Windows, а именно с помощью Acrobat Reader из командной строки, и не смог заставить его работать.
Acrobat Reader кажется ненадежным и сложным в использовании, а также мы должны гарантировать его установку на наших клиентских компьютерах.
У вас есть решение для этого, которое может быть в стороннем компоненте?

Спасибо

Ответы [ 5 ]

1 голос
/ 18 апреля 2009

Мы нашли эту скрытую жемчужину библиотеки с открытым исходным кодом под названием pdfprint # , которая делает именно то, что нам нужно.
Кажется, он основан на XPDF , который является библиотекой с открытым исходным кодом на C ++.
Автор написал на форуме, что «принтер имеет для поддержки пост-скриптов, библиотека отправляет необработанный постскрипт на принтер». и я задаюсь вопросом (и боюсь), насколько большой проблемой это будет ...
Спасибо всем за помощь!

1 голос
/ 07 апреля 2009

Вы можете или не могли видеть вопрос, который я задавал по этому поводу здесь , который может дать вам некоторые подсказки, если вы все-таки будете вынуждены использовать Acrobat.

В противном случае этот коммерческий сторонний компонент будет делать то, что вы хотите - abcpdf . Это потокобезопасное BTW.

P.S. Вам понадобится профессиональная версия, потому что только профессиональная версия поддерживает рендеринг.

0 голосов
/ 15 апреля 2009

Если вы используете Crystal Reports, вы можете использовать встроенную опцию Crystal Report, чтобы распечатать отчет, используя следующий код:

oReport.PrintOptions.PrinterName = "PrinterName";
oReport.PrintToPrinter(1, true, 0, 0);

Или здесь можно указать другой вариант Как отправить необработанные данные на принтер

0 голосов
/ 09 апреля 2009

Это довольно распространенный сценарий, который я слышу от наших клиентов, использующих ActiveReports , чтобы запустить отчет и распечатать его из службы. Еще один приятный момент, связанный с использованием ActiveReports, заключается в том, что помимо возможности печати отчета вы сможете сохранить тот же отчет, что и PDF, HTML или Excel, и не будете вносить в него какие-либо изменения.

Scott Willeke
Data Dynamics / GrapeCity
0 голосов
/ 07 апреля 2009

Можете ли вы запустить инструмент командной строки? (например, вы используете веб-сайт приложения НЕ (hta также должен работать))

Если это так, возможно, хорошим решением будет использование Crystal Reports (установите тип экспорта в PDF) в сочетании с бесплатным инструментом экспорта (поиск crexport в Google).

Также есть много компонентов экспорта PDF для .NET, может быть, достаточно написать собственное приложение для командной строки?

...