【问题标题】:Managing WinWord document content for badges printing application. Best practice管理徽章打印应用程序的 WinWord 文档内容。最佳实践
【发布时间】:2010-08-05 03:59:47
【问题描述】:

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

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

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

提前感谢您!

【问题讨论】:

  • @ViAndrew Florko:以下是否回答了您的问题?
  • 最后我通过 winword xml 解析和转换实现了这个。有很多好的答案,好吧,让你成为最好的:)

标签: .net ms-word reporting


【解决方案1】:

我会选择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 有助于在不安装 Word 或进行 COM 互操作的情况下处理 Office 文档,但通常(在我看来)似乎需要更多的努力来完成某些类型的任务。

    【讨论】:

    • +1 链接...我以前从未研究过...在我看来,它仍然像学习这将比这个简单场景所需的工作更多,但它是一个很好的资源。谢谢!
    • @David-Stratton:是的,我听到了。它优于手动敲出所有 XML,但缺乏 COM 互操作的优雅。
    【解决方案3】:

    这可能不是您想要的,但我绝对讨厌从 .Net 代码自动化 Office(或其他第三方应用程序)。它不仅混乱,而且通常比它必须的要困难得多。在这种情况下,除了允许您选择员工列表之外,Word 可以做任何事情,所以我会绕过这个问题。我不会让应用程序创建 Word 文档,而是...

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

    【讨论】:

      猜你喜欢
      • 2014-03-11
      • 1970-01-01
      • 1970-01-01
      • 2012-05-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-09-06
      • 1970-01-01
      相关资源
      最近更新 更多