在 Azure 应用服务上使用 NetOffice.PowerPointApi

Use NetOffice.PowerPointApi on azure app service

我编写了一个代码,可以将演示文稿中的所有幻灯片保存为 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?

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

    我的建议是创建一个具有所需依赖项的容器映像,然后将自定义容器部署到 Azure Web App Container