如何使用 Winforms 或 WPF 构建表单完成/文档合并应用程序?
-
22-09-2019 - |
题
我需要构建一个应用程序,它接受用户输入数据(例如姓名、地址、金额等),然后将其与预加载的文档模板(订单表格)合并,然后打印此合并的文档。我可以在这个项目中使用 Windows 窗体或 WPF。
关于如何最好地解决这个问题有什么建议吗?我有 Winforms 开发经验,但不知道如何将数据合并到文档中进行打印。
解决方案
WPF 非常适合于此。
您可以从 WPF UI 元素(例如页面或用户控件)创建文档模板。设置模板就像在 VS 设计器中设置任何 UI 一样。确定您的数据将以什么形式存储(这将是您的 DataContext),然后绑定其公共属性。然后,您可以将合并的模板放入固定页面并将其添加到 XPS 文档中。您可以非常轻松地打印它或将其保存到磁盘。
简化算法:
- 创建数据输入表单。
- 创建一个类型来保存表单中的数据(将此类型称为 Foo)
- 创建一个与 Foo 绑定的页面模板(当 Foo 实例是 DataContext 时)
- 将表单绑定到 Foo 的实例
- 让用户填写表单(从而填写 Foo 的实例)
- 创建模板的实例(假设它是一个页面)
- 设置Page.DataContext = fooInstance;
- 将页面添加到固定页面,然后将其添加到固定文档
- 将固定文档保存到 XPS 文档
- 保存 XPS 文档或将其发送到打印队列
我正在做类似的事情并且效果很好。只需转到我的个人资料并阅读我的所有问题即可。它们涵盖了整个过程中的大部分难点。
其他提示
您需要使用邮件合并。邮件合并是从数据库,电子表格或结构化数据的其它形式获取数据,并将其插入到文档,如信函,邮件标签和名称标签的方法。从本文开始。
不隶属于 StackOverflow