管理徽章打印应用程序的WinWord文档内容。最佳实践

时间:2010-08-05 03:59:47

标签: .net ms-word reporting

我必须为徽章打印应用程序生成winword文档。

基本情况如下:用户从列表中选择员工,点击“打印徽章”,winword似乎允许用户在打印前制作一些版本。徽章应表示为包含某些列的表格。每个表格单元格都有图像背景(徽章),一些文本(公司,年份),用户名和用户名。徽章背景上的用户照片。还需要通过winword为用户编辑徽章模板。

我不太喜欢MS Word自动化COM接口,因为它们非常慢,往往会挂起。可能是我应该通过XML DOM使用winword XML文档内容。可能有一个很好的免费库包装了winword DOM或开箱即用的Studio 2010提供的一些库吗?你会建议什么?

提前谢谢!

3 个答案:

答案 0 :(得分:2)

以下是Office XML SDK的链接,用于处理Office 2007/2010文档。

http://msdn.microsoft.com/en-us/library/bb448854.aspx

此SDK有助于在不安装Word或进行COM互操作的情况下使用Office文档,但通常看起来(对我而言)需要更多的努力才能完成某些任务。

答案 1 :(得分:2)

这可能不是你想要的,但我绝对讨厌从.Net代码自动化Office(或其他第三方应用程序)。它不仅凌乱,而且通常比以前困难得多。在这种情况下,Word可以执行所有操作,除了允许您选择员工列表,因此我会解决问题。我没有让应用创建Word文档,而是......

  1. 设置Word文档以使用已内置的功能从列表中打印名称标签,如下所述:http://www.ehow.com/how_5085472_make-name-tags-microsoft-word.html
  2. 根据我在用户界面中选择的员工,对程序进行编码,将名称标签所需的数据写入文本文件。
  3. 让程序只加载Word文档并运行宏来打印标签。 (为简单起见,您甚至可以使用System.Diagnostics.Process类来执行此操作。这在另一个论坛的this postthis MSDN entry中进行了解释。)

答案 2 :(得分:2)

我会和Visual Studio Tools for Office一起去看这个。您可以使用VSTO Tag on SO来搜索(这意味着“搜索SO” - 我只是编写了它)。它的优点和缺点,就像任何东西一样,但对于你的情况,它正是你所需要的。 This page有很多关于这个主题的好文章。