2010-08-05 52 views
3

我必须为徽章印刷应用程序生成winword文档。管理徽标打印应用程序的WinWord文档内容。最佳做法

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

我不是很喜欢MS Word自动化COM接口,因为它们很慢,往往会挂起。可能是我应该通过XML DOM来玩winword XML文档内容。可能有一个很好的免费图书馆可以包装winword DOM或Studio 2010提供的一些图书馆吗?你会建议什么?

预先感谢您!

+0

@ViAndrew Florko:以下回答你的问题? – 2010-08-23 06:06:02

+0

最后我通过winword xml解析和转换实现了这一点。有很多很好的答案,好吧,让你的一个是最好的:) – 2010-08-24 05:40:22

回答

2

我会跟Visual Studio Tools for Office去这一个。你可以这样(这意味着“搜索SO” - 我刚刚完成)VSTO Tag on SO。它有什么优点和缺点,就像任何事情一样,但是对于你的情况,这正是你需要的。 This page有很多关于它的好文章。

2

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

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

此SDK促进了与Office文档工作,而无需安装Word或做COM互操作,但总体看来(我)需要更多的努力来完成一些类型的任务。

+0

+1的链接...我从来没有看过这个之前...它仍然看起来像我学习这将是更多的工作比这个简单的场景所需要的要多,但这是一个很好的资源。谢谢! – David 2010-08-05 04:31:39

+0

@ David-Stratton:是的,我听到你的声音。它跳动着手敲出所有的XML,但缺乏COM interop的优雅。 – kbrimington 2010-08-05 04:34:30

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 post从另一个论坛和this MSDN entry解释。)
相关问题