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

C# 来自C的邮件合并或类似合并的功能#,c#,ms-word,mailmerge,C#,Ms Word,Mailmerge,我需要打印几千张带有几个文本字段(姓名、位置等)的贴纸以及条形码图像 每个员工都有两张独特的贴纸,贴纸每张有4张,即每张有2名员工 我已经有了生成条形码的所有代码作为图像,员工详细信息存储在对象的列表中 如果可能的话,我希望避免直接使用MSWord,因为我的开发环境与目标环境有很大的不同,而且我在过去也遇到过这种差异带来的问题。(Win7-64,MSOffice2010与WinXP-32,MSOffice2003) 实现这一目标的最佳方式是什么 如果我将文档保存为XML格式,并用唯一的标记替换邮

我需要打印几千张带有几个文本字段(姓名、位置等)的贴纸以及条形码图像

每个员工都有两张独特的贴纸,贴纸每张有4张,即每张有2名员工

我已经有了生成条形码的所有代码作为
图像
,员工详细信息存储在对象的
列表

如果可能的话,我希望避免直接使用MSWord,因为我的开发环境与目标环境有很大的不同,而且我在过去也遇到过这种差异带来的问题。(Win7-64,MSOffice2010与WinXP-32,MSOffice2003)

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

如果我将文档保存为XML格式,并用唯一的标记替换邮件合并字段,我可以用我的实际值替换这些标记(我甚至可以用base-64编码的图像字节替换二进制图像数据),那么这是可行的,但它很笨重。首先,我必须保存XML文件,然后以某种方式对用户透明地打印它(不希望Word出现)。另外,XML模板只有一页,但我可能有几十页要打印。我可以将每页单独发送到打印机,但这并不理想


还有其他建议吗?

我会使用DevXpress XtraReports,就像我过去在类似场景中使用它一样,效果非常好。如果您喜欢其他引擎,如Crystal或Telerik,也一样,只需在页面详细信息部分拖动一些字段并将对象列表指定为数据源即可。DevXpress还有一个带有内置邮件合并功能的RichTextBox。最后,如果您决定使用word,请不要忘记,您可以自动使用它,同时保持它不可见,这样用户就不会看到它