生成并打印发票

时间:2011-02-23 08:28:16

标签: wpf printing

一旦收银员收到客户的现金,我想生成发票并在后台打印(不向应用程序的用户显示)。

我不知道如何在WPF中执行此操作,我尝试创建用户控件并传递所需的对象并将其绑定到此用户控件的DataGrid控件并打印它。

有人建议使用Crystal Report并传递参数,然后生成发票并打印,但我不知道如何在技术上做到这一点。

提前致谢

1 个答案:

答案 0 :(得分:6)

在WPF中你有很多可能性:

  • 通过XPS打印,查看here以获取更多信息。它非常灵活和强大,但也有点复杂。 Here你会找到一个简短的例子。
  • 创建FlowDocument并打印出来。这种方式更简单,具有很多功能,同时也为您提供良好的打印质量。但它有一个特定的目标:支持流动的文档。因此,由于格式限制,它并不总是最佳选择。
  • 使用PrintDialog.PrintVisual的非常简单的可能性。通过这种方式,您可以快速打印出视觉内容。这对于一个简单的解决方案很有用,但非常有限。
  • 使用Microsoft Report Viewer等报告工具。您也可以从WPF使用它,它非常强大且免费。请注意,那里有许多不同的版本。我会使用最新的(V3)。这是VS2010版本的集成设计师。

所有这些方式都可用于打印而无需直接的用户交互。

您已写过:我不知道如何在WPF中执行此操作,我尝试创建用户控件并传递所需的对象并将其绑定到此用户控件的DataGrid控件并打印它。 / em>的。要了解结果如何,采用PrintDialog.PrintVisual方法,您似乎也拥有所需的一切,然后您将看到它是否符合您的需求。否则,请选择其他技术之一。

为了创建漂亮的格式化打印文档,我建议使用报告技术,因为它们提供了灵活性。你也可以在XPS中做到这一点,但总的来说,这是更多的工作(布局变得越复杂),也不太可支持。但是,这也是学习并将报告技术嵌入您的应用程序的努力。