3

我需要构建一个接受用户输入数据(如姓名、地址、金额等)的应用程序,然后将其与预加载的文档模板(订单)合并,然后打印此合并文档。我可以为这个项目使用 Windows 窗体或 WPF。

关于如何最好地解决这个问题的任何建议?我有 Winforms 开发经验,但不知道如何处理将数据合并到文档以进行打印。

4

2 回答 2

3

WPF 非常适合这个。

您可以从 WPF UI 元素(例如 Page 或 UserControl)创建文档模板。像在 VS 设计器中设置任何 UI 一样设置模板。确定您的数据将存储在哪种形状中(这将是您的 DataContext),然后绑定其公共属性。然后,您可以将合并的模板放入 FixedPage 并将其添加到 XPS 文档中。您可以很容易地打印或将其保存到磁盘。

简化算法:

  • 创建数据输入表单。
  • 创建一个将保存表单数据的类型(将此类型称为 Foo)
  • 创建一个与 Foo 绑定的页面模板(当 Foo 实例是 DataContext 时)
  • 将表单绑定到 Foo 的一个实例
  • 让用户填写表格(以及 Foo 的实例)
  • 创建模板的一个实例(假设它是一个页面)
  • 设置 Page.DataContext = fooInstance;
  • 将页面添加到固定页面,然后将其添加到固定文档
  • 将 FixedDocument 保存到 XPS 文档
  • 保存 XPS 文档或将其发送到 PrintQueue

我正在做类似的事情并且效果很好。只需转到我的个人资料并阅读我所有的问题。它们涵盖了整个过程的大部分难点。

于 2010-03-24T11:44:10.533 回答
0

您需要使用邮件合并。邮件合并是一种从数据库、电子表格或其他形式的结构化数据中获取数据并将其插入到诸如信件、邮寄标签和名称标签等文档中的方法。从这篇文章开始。

于 2010-03-24T12:01:10.367 回答