Каков наилучший способ создания и печати счетов в приложении .NET? - PullRequest
5 голосов
/ 22 сентября 2008

Я работаю над биллинговой системой для коммунальной компании, и у нас есть следующие требования:

  • Пакетное генерирование и печать около 1500 счетов в день, которые мы затем рассылаем клиентам
  • Сохраните счет в формате, который можно отправить клиенту по электронной почте, а также заархивировать (возможно, в формате PDF)
  • Построен на основе .NET с базой данных MS SQL Server

Я хотел бы получить совет о том, как лучше всего это сделать. Я думаю о создании приложения WPF, которое будет иметь шаблон счета, к которому мы привязываем данные счета и из которого печатаем. Но я раньше не использовал WPF, поэтому я не уверен, что это лучшая технология, и я не могу понять, как будут работать пакетная обработка и преобразование PDF.

Есть мысли? Будет ли работать WPF или есть лучшее решение?

Ответы [ 8 ]

3 голосов
/ 22 сентября 2008

Если вы используете сервер SQL Server, службы Reporting Services должны работать для вас.

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

1 голос
/ 23 сентября 2008

Вы можете получить хорошие возможности печати из WPF, поскольку новая технология Формат бумаги XPS является заменой PDF. И это имеет отличную поддержку программирования тоже. Блог от Pettzold http://www.charlespetzold.com/blog/2006/02/201111.html о печати WPF.

1 голос
/ 23 сентября 2008

Я настоятельно рекомендую работать с инструментом отчетности, который обеспечивает встроенную поддержку экспорта в PDF, для целей управления гораздо проще, если вы можете начать с одного формата и отчета для обработки как печати, так и архивирования информации.

Если вы действительно выполняете пакетную обработку, я бы не рассматривал WPF в качестве необходимого компонента в качестве пакетного задания, у которого на самом деле не так много пользовательского интерфейса, если он вообще есть, в зависимости от того, как вы действительно это реализуете. 1003 *

На вашем месте я бы сосредоточился на создании пакетного процессора, который мог бы либо работать как служба Windows, либо планироваться для запуска через определенные промежутки времени для выполнения своей работы.

1 голос
/ 23 сентября 2008

Даже с SQL Server вы можете захотеть взглянуть на функциональность отчетов на стороне клиента. Это действительно лучше подходит IMO с тем, что вы хотите. Вы по-прежнему можете запрашивать и получать все необходимые данные с сервера, но это позволяет вам полностью контролировать процесс автоматизации. Возможно, вы хотите запустить его как сервис, каждый день отчет генерируется сервисом, конвертируется в PDF и копируется на диск и автоматически отправляется по электронной почте. Клиентская сторона может сделать все это и легко. И нет необходимости полагаться на службы отчетов или IIS, или на то, чтобы что-либо из этого было настроено.

0 голосов
/ 23 сентября 2008

В одном из проектов, над которым я работаю, мы используем list & label .

По сути, у вас есть .NET API, вы передаете ему DataSet, а затем создаете шаблоны, ссылающиеся на столбцы в наборе данных, которые, по крайней мере, могут быть напечатаны (и я полагаю, экспортирован в PDF, но не проверял ... )

Я сам с этим не работал, поэтому не могу много сказать о качестве.

0 голосов
/ 23 сентября 2008

Вы также можете посмотреть на itextSharp. Это инструмент для записи .net pdf и является портом итератора Java. Ограниченная игра, которую я сделал с этим, сделала написание PDF простым и забавным.

0 голосов
/ 22 сентября 2008

Ознакомьтесь с этой книгой, (http://www.apress.com/book/view/9781590598542) она предоставляет множество различных сценариев, включая отправку отчетов по электронной почте, службу генерации отчетов и т. Д. Она касается отчетов на стороне клиента, но она одинаково хорошо применяется и на стороне сервера (в любом случае, на стороне разработки) Это может иметь свои преимущества, делая это на стороне клиента (или на сервере с обратным адресом), так как вы можете полностью контролировать процесс автоматизации.

И да, вы можете использовать WPF.

0 голосов
/ 22 сентября 2008

Возможно, вам следует попробовать с ActiveReports.NET или DevExpress XtraReports сначала сгенерировать отчеты по коду. Оба имеют поддержку экспорта в PDF, поэтому вы можете создавать PDF-файлы и отправлять их по почте.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...