【问题标题】:Use NetOffice.PowerPointApi on azure app service在 Azure 应用服务上使用 NetOffice.PowerPointApi
【发布时间】:2025-12-20 16:20:28
【问题描述】:

我编写了一个代码,将演示文稿中的所有幻灯片保存为 jpeg。它在我系统上本地的 Visual Studio 中运行良好,但是当我在 Azure 应用服务上部署它时,出现 500 内部服务器错误。

  • IIS 收到请求;但是,在处理请求期间发生了内部错误。此错误的根本原因取决于处理请求的模块以及发生此错误时工作进程中发生的情况。
  • IIS 无法访问网站或应用程序的 web.config 文件.如果 NTFS 权限设置不正确,可能会发生这种情况。
  • IIS 无法处理网站或应用程序的配置。
  • 经过身份验证的用户没有使用此 DLL 的权限.
  • 请求已映射到托管处理程序,但未安装 .NET 可扩展性功能。
  • 代码:

    using pptd = NetOffice.PowerPointApi;
    using NetOffice.PowerPointApi.Enums;
    using NetOffice.OfficeApi.Enums;
    
     public void genThumbnails(string originalfileName,string renamedFilename, string dirPath)
                {
                
                    
                    pptd.Application pptApplication = new pptd.Application();
                    pptd.Presentation pptPresentation = pptApplication.Presentations.Open(dirPath + renamedFilename, MsoTriState.msoFalse, MsoTriState.msoFalse, MsoTriState.msoFalse);
                    int i = 0;
                    foreach (pptd.Slide pptSlide in pptPresentation.Slides)
                    {
    
                        pptSlide.Export(dirPath + originalfileName + "_slide" + i + ".jpg", "jpg", 1280, 720);
                        i++;
    
    
                    }
                    pptPresentation.Close();
                }
    

    我做错了什么? NetOffice 软件包是否也需要像 Office.Interop 一样在服务器上安装 MS Office?

    【问题讨论】:

      标签: azure azure-web-app-service azure-app-service-envrmnt azure-appservice netoffice


      【解决方案1】:

      标准的 Windows 和 Linux 网络应用程序使用受祝福的操作系统映像。作为 PaaS 设计的一部分,由于没有 MS Office 互操作,而且 Azure Web Apps 是一个沙盒,因此客户可以运行的内容受到限制。

      我的建议是创建一个包含您需要的必要依赖项的容器映像,然后将您的自定义容器部署到 Azure Web App Container

      【讨论】: