C#中的邮件合并或类似合并的功能

时间:2011-10-10 05:40:38

标签: c# ms-word mailmerge

我需要打印几千个带有一些文本字段(名称,位置等)以及条形码图像的贴纸。

每个工作人员都会得到两个独特的贴纸,贴纸每张4张,因此每张纸上有2个工作人员。

我已经拥有将条形码生成为Image的所有代码,并且人员详细信息存储在List对象中。

如果可能的话,我想避免直接使用MSWord,因为我的开发环境与目标环境完全不同,而且我从过去的差异中遇到过问题。 (Win7-64,MSOffice2010与WinXP-32,MSOffice2003)。

实现这一目标的最佳方法是什么?

如果我将文档保存为XML格式并用唯一的标记替换邮件合并字段,我可以用实际值替换它(我甚至可以用base-64编码的图像字节替换二进制图像数据)然后这样做但它很笨重。对于初学者,我必须保存XML文件,然后以某种方式将其透明地打印给用户(不希望Word显示)。此外,XML模板是1页,但我可能有几十个打印。我可以将每个页面单独发送到打印机,但这并不完全理想。

还有其他建议吗?

1 个答案:

答案 0 :(得分:0)

我会使用DevXpress XtraReports,因为我在过去的类似场景中使用过它,效果很好。如果您更喜欢Crystal或Telerik等其他引擎是相同的,就像拖动页面详细信息部分中的某些字段并将对象列表指定为数据源一样简单。 DevXpress还有一个内置mailmerge功能的RichTextBox。最后,如果你决定单词,不要忘记你可以自动化并使用它,同时保持它不可见,这样用户就不会看到它。