我需要打印几千个带有几个文本字段(名称,位置等)以及条形码图像的贴纸。
每个员工都有两个独特的贴纸,每张贴纸纸有4个,所以每张纸有2个员工。
我已经拥有生成条形码作为Image
的所有代码,并且员工详细信息存储在对象的List
中。
如果可能的话,我想避免直接使用MSWord,因为我的开发环境与目标环境有很大的不同,而且我在过去曾因这种差异而遇到过问题。(Win7-64, msofice2010 vs. WinXP-32, msofice2003).
实现这一点的最好方法是什么?
如果我将文档保存为XML格式,并用我可以用实际值替换的唯一令牌替换邮件合并字段(我甚至可以用base-64编码的图像字节替换二进制图像数据),那么它可以工作,但它很笨拙。首先,我必须保存XML文件,然后以某种方式对用户透明地打印出来(不希望Word显示出来)。另外,XML模板只有1页,但我可能要打印几十页。我可以把每一页都单独送到打印机,但这不是很理想。
还有其他建议吗?
我将使用DevXpress XtraReports,因为我过去在类似的场景中使用过它,并取得了很好的效果。如果您喜欢其他引擎,如Crystal或Telerik是一样的,那么只需在页面详细信息部分拖动一些字段并将对象列表指定为数据源即可。DevXpress也有一个RichTextBox内置邮件合并功能。最后,如果你决定使用word,不要忘记你可以自动使用它,同时保持它不可见,这样用户就不会看到它。