microsoft.office.interop.word在服务器上部署

时间:2014-04-30 05:10:52

标签: c# asp.net windows-server-2003

我想在我的公司的本地Intranet服务器上将Word文档转换为PDF。在我的项目中使用microsoft.office.interop.word是一个好主意,而不是购买根本不支持阿拉伯语的非常昂贵的工具。

我很高兴听到有关此案例的专家意见:)

2 个答案:

答案 0 :(得分:2)

这取决于您的需要,第三方库会提供大量开箱即用的功能,而您需要编写大量代码才能实现与PIA相同的功能。但是如果你需要简单的单词doc to pdf conversion,那么PIA应该为你做。

但是我强烈建议你去寻找一个包装组件,这有助于克服使用PIA的缺点,例如,

  • 它们仅限于某个版本,即它们仅与一个或多个一起使用 某些版本的Office
  • 在转移或安装到其他地方时会导致问题 系统
  • 他们在管理COM代理时没有提供保护机制

简而言之,如果您使用PIA,您的代码可能不适用于不同版本的办公室,而这些包装程序集使用Late Binding管理多个办公室版本。

您可以使用我在项目中使用的NetOffice一段时间。 NetOffice的一些功能是,

  • 没有版本限制的Office集成
  • Office版本2000,2002,2003,2007,2010的所有功能, 包括2013年
  • 在语法和语义上与Microsoft Interop完全相同 组件

答案 1 :(得分:1)

我不会说我是这里的专家,但我至少可以分享我的旅程,希望能节省你的时间和精力。

可以在有限的情况下相当可靠地工作,但微软会事先告诉你:

[服务器上的InterOp]不受支持且无法很好地扩展

我同意,但对于简单的事情......嗯。

  • 您的第一个障碍是拥有运行互操作的正确权利。哪里 对一些公司来说,运行互操作是一项挑战。恕我直言,我不会 在我的Intranet服务器上运行它,除非我可以包含该进程 有限的权利(是的,这是可行的)。
  • 您的下一个挑战将是病毒和WB的漏洞 MS Word。 MS Word必须保持最新,客户必须能够 处理未转换的文件(由于潜在的病毒或 文件中的错误)。

我使用的方法是在服务中或作为工作流运行MS Word互操作。您需要将这些请求排队并编写您的应用程序。该服务将在后台运行,除了运行MS Word,打开文件和“另存为”PDF格式(以及您需要的其他业务逻辑)之外,其权限有限。您可以通过在新服务器上添加更多服务/工作流来扩展(每台机器一个互操作服务)

以这种方式运行时,我很少遇到问题。我希望这会有所帮助。