在.NET应用程序中生成和打印发票的最佳方法是什么?

5
我正在为一家公用事业公司开发一个计费系统,我们有以下要求:
  • 每天批量生成和打印约1500张账单,然后邮寄给客户
  • 将账单保存为可通过电子邮件发送给客户和存档的格式(可能是PDF)
  • 使用.NET和MS SQL Server数据库后端构建
我想请教一下如何最好地完成这项任务。我考虑构建一个WPF应用程序,该应用程序具有我们绑定账单数据并从中打印的账单模板。但我以前没有使用过WPF,所以我不确定是否这是最好的技术选择,而且我无法理解批处理和PDF转换的工作原理。
您有什么想法吗? WPF是否适用,还是有更好的解决方案?

你是否使用 MS SQL Server 作为后端? - Austin Salonen
是的,MS SQL Server 是后端。 - Mike Pond
8个回答

3
如果你使用的是 SQL Server 后端,那么 Reporting Services 应该适用于你。
否则,我建议选择一个符合你报告需求的第三方报告生成器,并创建一个应用程序来使用它来创建和导出报告。

1
即使使用SQL Server,您可能仍希望查看客户端报告功能。在我看来,它确实更适合您的需求。您仍然可以查询并从服务器获取所需的所有数据,但它允许您完全控制自动化过程。也许您想将其作为服务运行,每天服务生成报告,转换为PDF并复制到磁盘并自动发送电子邮件。客户端可以轻松完成所有这些操作。而且不依赖于报告服务或IIS,也不需要配置任何内容。

1

我强烈建议使用支持原生导出PDF的报表工具,如果您可以从单一格式开始并处理信息的打印和归档,那么这对于管理目的来说会更加容易。

如果您真正进行批处理,我不认为WPF是必需的组件,因为批处理作业实际上没有太多UI,或者根据您的实际实现方式可能根本没有UI。

如果我是您,我会专注于创建一个批处理器,该批处理器可以作为Windows服务运行,或者按特定间隔计划运行以完成其工作。


1

0
也许你可以尝试使用ActiveReports.NET或DevExpress XtraReports通过编程生成报告。两者都支持PDF导出,因此您可以生成PDF文件并通过电子邮件发送它们。

0

看看这本书吧,(http://www.apress.com/book/view/9781590598542) 它提供了许多不同的场景,包括电子邮件报告、报告生成服务等。它涉及客户端报告,但同样适用于服务器端(至少在设计方面是这样的)。如果您想使用.NET报告,这可能有其优势,因为您可以完全控制自动化过程。但那是如果你想选择.NET报告。

是的,您可以使用WPF。


还有一点需要注意的是,客户端和服务器端的 .net 报表都可以转换为 PDF。 - mattlant

0
你也可以看看itextSharp。它是一个.NET PDF编写工具,是Java itext的移植版。我对它进行了有限的尝试,使PDF编写变得简单而有趣。

0

在我参与的某个项目中,我们使用 列表和标签

基本上,你有一个 .NET API,你传递一个 DataSet,然后你制作引用数据集列的模板,这些列至少可以打印(我猜也可以导出为 PDF,但没有检查过...)

不过,我自己并未使用过它,所以无法对其质量发表评论。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接