在后端使用 Microsoft Office Word
Posted
技术标签:
【中文标题】在后端使用 Microsoft Office Word【英文标题】:Working with Microsoft Office Word on the Back-end 【发布时间】:2019-11-03 16:54:17 【问题描述】:目前我有一个在后端修改 Microsoft Office Word 文档的应用程序。添加封面并替换一些文本。为此,我们使用 COM(组件对象模型)来操作 .docx / .doc 文件。我们每天处理超过 1000 份文件。
问题是速度很慢,偶尔会“挂”,基本上不建议这样使用。
是否有用于在服务器端操作和编辑 Microsoft Office Word 的库/组件?最好使用 golang 或 php,如果它可以在 Linux 上运行,那就更好了,而且只有 Windows 的 lib 可以提供帮助。
谢谢。
【问题讨论】:
【参考方案1】:Considerations for server-side Automation of Office 文章声明如下:
所有当前版本的 Microsoft Office 都经过设计、测试和配置,可作为最终用户产品在客户端工作站上运行。他们假设一个交互式桌面和用户配置文件。它们不提供满足设计为无人值守运行的服务器端组件需求所需的重入性或安全性级别。
Microsoft 目前不推荐也不支持任何无人值守、非交互式客户端应用程序或组件(包括 ASP、ASP.NET、DCOM 和 NT 服务)的 Microsoft Office 应用程序自动化,因为 Office 可能表现出不稳定Office 在此环境中运行时的行为和/或死锁。
如果您要构建在服务器端上下文中运行的解决方案,您应该尝试使用已确保无人值守执行安全的组件。或者,您应该尝试找到允许至少部分代码在客户端运行的替代方案。如果您使用服务器端解决方案中的 Office 应用程序,该应用程序将缺少许多成功运行所需的功能。此外,您将在整体解决方案的稳定性方面承担风险。
替代方案
-
Open XML SDK,请参阅Welcome to the Open XML SDK 2.5 for Office 了解更多信息。
Microsoft 强烈建议开发人员在需要开发服务器端解决方案时寻找 Office 自动化的替代方案。由于 Office 设计的限制,对 Office 配置的更改不足以解决所有问题。 Microsoft 强烈建议使用一些不需要在服务器端安装 Office 并且可以比自动化更高效、更快速地执行大多数常见任务的替代方案。在将 Office 作为服务器端组件加入项目之前,请考虑替代方案。
大多数服务器端自动化任务都涉及文档创建或编辑。 Office 支持新的 Open XML 文件格式,允许开发人员在服务器端创建、编辑、读取和转换文件内容。这些文件格式使用 Microsoft .NET Framework 中的 System.IO.Package.IO
命名空间来编辑 Office 文件,而无需使用 Office 客户端应用程序本身。这是处理从服务更改 Office 文件的推荐和支持方法。
-
如果您想处理旧的文档格式,您可以使用任何为服务器端执行而设计的第三方组件,例如 Aspose。
【讨论】:
以上是关于在后端使用 Microsoft Office Word的主要内容,如果未能解决你的问题,请参考以下文章
Microsoft Office Outlook 2003中如何设置foxmail.com
福利|安卓系统Microsoft Office Mobile中文版 全套免费领!
Microsoft Office 2021 / 2019 Direct Download Links