[COMException(0x800a141f):Word无法读取此文档。可能已损坏

问题描述 投票:-1回答:2

异常详细信息:System.Runtime.InteropServices.COMException:Word无法读取此文档。它可能已损坏。 请尝试以下一项或多项:

  • 打开并修复文件。
  • 使用文本恢复转换器打开文件。] Microsoft.Office.Interop.Word.Documents.Add(对象和模板,对象和新模板,对象和文档类型,对象和可见)+0

[在应用服务器上通过IIS运行解决方案时,出现此错误。在本地工作正常。 两者都尝试过:将DCOM Config中的Microsoft Word 97-2003文档身份验证更改为无,并在安全性上将交互式用户权限更改为。 并将所有必需的权限提供给IIS用户。

asp.net-mvc iis office-interop comexception word-automation
2个回答
0
投票

Considerations for server-side Automation of Office声明以下内容:

Microsoft当前不建议,并且不支持从任何无人参与的非交互客户端应用程序或组件(包括ASP,ASP.NET,DCOM和NT Services)自动化Microsoft Office应用程序,因为Office可能表现出不稳定的行为和/或在此环境中运行Office时出现死锁。

如果要构建在服务器端上下文中运行的解决方案,则应尝试使用已确保安全进行无人值守执行的组件。或者,您应该尝试找到允许至少部分代码在客户端运行的替代方法。如果您从服务器端解决方案中使用Office应用程序,则该应用程序将缺少许多成功运行所需的功能。此外,您将承担整体解决方案稳定性的风险。

如果要处理旧的(doc)文件格式,则需要使用专为服务器端执行而设计的组件。否则,您可以自由使用Open XML SDK,有关更多信息,请参见Getting started with the Open XML SDK 2.5 for Office


0
投票

将IIS用户添加为应用服务器上的管理员即可解决此问题。

请参考下面的URL在Windows服务器上添加新的用户/管理员。https://social.technet.microsoft.com/wiki/contents/articles/13436.windows-server-2012-how-to-add-an-account-to-a-local-administrator-group.aspx

© www.soinside.com 2019 - 2024. All rights reserved.