我在AWS上安装了一个Windows EC2,安装了Office 365。我在IIS上运行Django,运行在NetworkService下,并使用Python docx2pdf将docx转换为pdf。
不幸的是,我在尝试这样做时遇到了一个拒绝访问的错误。我在其他地方见过建议在DCOM (例如https://www.ryadel.com/en/office-interop-dcom-config-windows-server-iis-word-excel-access-asp-net-c-sharp/)中添加权限的地方。但是,我看不到这里列出的Microsoft (我尝试查看32和64位版本,并在安装Office之后重新启动实例)。我是否在正确的轨道上,如果是的话,我如何定位这个组件?
发布于 2022-09-29 19:39:49
办公服务器端自动化的几点思考声明如下:
Microsoft目前不建议也不支持来自任何无人值守、非交互式客户端应用程序或组件(包括ASP、ASP.NET、DCOM和NT服务)的Microsoft应用程序的自动化,因为在此环境中运行Office时,Office可能会出现不稳定的行为和/或死锁。如果您正在构建在服务器端上下文中运行的解决方案,则应尝试使用已为无人值守执行而安全的组件。或者,您应该尝试找到允许至少部分代码运行客户端的替代方案。如果您使用来自服务器端解决方案的Office应用程序,则该应用程序将缺乏许多成功运行所需的功能。此外,您将承担风险与您的整体解决方案的稳定性。
如果只处理开放的XML文档,请考虑使用Open,有关更多信息,请参见欢迎访问OpenXMLSDK2.5forOffice。此外,您可以考虑使用为服务器端执行而设计的第三方组件。
https://stackoverflow.com/questions/73899580
复制相似问题