Печать отчета из службы Windows

2

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

Благодаря

Теги:
printing
pdf
windows-services
reporting

5 ответов

1
Лучший ответ

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

  • 0
    Я должен добавить, что, поскольку я боялся, что ограничение сценария публикации было большой проблемой. В итоге мы использовали «PDFView4Net» от «O2 Solutions»
1

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

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

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

  • 0
    Эта первая ссылка не будет работать из службы Windows. Проблема в том, что Acrobat / Reader пытается открыть диалоговое окно регистрации для каждой новой учетной записи, которую вы просто не увидите в службе, если не настроено взаимодействие с рабочим столом (а не с Windows 7).
0

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

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

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

0

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

Scott Willeke
Data Dynamics / GrapeCity
0

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

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

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

  • 0
    Наша проблема не связана с созданием PDF, проблема связана с печатью из Windows Server, мы можем легко печатать из приложения Windows, но служба Windows Acrobat Reader, похоже, не работает.
  • 0
    Я понимаю. У нас есть (довольно дорогое) программное обеспечение, которое делает это (только для Crystal Reports!). Он очень гибкий и работает в фоновом режиме / как услуга, ПРОВЕРИТЬ РАЗЛИЧНЫЕ ОСОБЕННОСТИ ВЕРСИИ! christiansteven.com - программное обеспечение называется CRD.
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню