【问题标题】:What is the best way to generate and print invoices in a .NET application?在 .NET 应用程序中生成和打印发票的最佳方式是什么?
【发布时间】:2008-09-22 19:49:36
【问题描述】:

我正在为一家公用事业公司开发计费系统,我们有以下要求:

  • 每天批量生成和打印大约 1,500 张账单,然后我们邮寄给客户
  • 以可以通过电子邮件发送给客户并存档的格式保存帐单(可能是 PDF)
  • 使用 .NET 和 MS SQL Server 数据库后端构建

我想要一些关于完成此任务的最佳方法的建议。我正在考虑构建一个 WPF 应用程序,该应用程序将具有我们将帐单数据绑定到并从中打印的帐单模板。但我之前没有使用过 WPF,所以我不确定这是否是最好的技术,而且我无法理解批处理和 PDF 转换是如何工作的。

有什么想法吗? WPF 会起作用,还是有更好的解决方案?

【问题讨论】:

  • 您是否使用 MS SQL Server 作为后端?
  • 是的,MS SQL Server 是后端。

标签: .net wpf printing


【解决方案1】:

如果您使用的是 SQL Server 后端,Reporting Services 应该适合您。

否则,我会推荐适合您报告需求的第三方报告生成器,并创建一个使用它来创建和导出报告的应用程序。

【讨论】:

    【解决方案2】:

    我强烈建议使用为导出为 PDF 提供本机支持的报告工具,如果您可以从单一格式和报告开始处理信息的打印和存档,则管理目的会容易得多。

    如果您真的在进行批处理,我不会将 WPF 视为批处理作业所需的组件,您实际上并没有太多的 UI(如果有的话),这取决于您如何真正实现它。

    如果我是你,我会专注于创建一个批处理器,它既可以作为 Windows 服务运行,也可以按特定时间间隔运行以完成其工作。

    【讨论】:

      【解决方案3】:

      您可以从 WPF 中获得良好的打印功能,因为新技术 Paper 格式 XPS 文档是 PDF 的替代品。它也有很好的编程支持。来自 pettzold http://www.charlespetzold.com/blog/2006/02/201111.html 的关于 WPF 打印的博客。

      【讨论】:

        【解决方案4】:

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

        【讨论】:

          【解决方案5】:

          也许您应该先尝试使用 ActiveReports.NET 或 DevExpress XtraReports 通过代码生成报告。两者都支持 PDF 导出,因此您可以生成 PDF 文件并通过邮件发送。

          【讨论】:

            【解决方案6】:

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

            是的,您可以使用 WPF。

            【讨论】:

            • 再注意一点,客户端和服务器端的.net报告都可以转换为PDF。
            【解决方案7】:

            您还可以查看 itextSharp。它是一个.net pdf 编写工具,是Java itext 的一个端口。我对它的有限玩弄让 pdf 写作变得简单而有趣。

            【讨论】:

              【解决方案8】:

              在我从事的一个项目中,我们使用list & label

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

              我自己没有使用它,所以不能对质量说太多。

              【讨论】:

                猜你喜欢
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 2021-05-19
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                相关资源
                最近更新 更多