azure - 在 azure 应用服务上使用 NetOffice.PowerPointApi

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

我编写了一个代码,将演示文稿中的所有幻灯片保存为 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 Web 应用程序使用受祝福的操作系统镜像。作为 PaaS 设计的一部分,客户可以运行的内容受到限制,因为不存在 MS Office 互操作,而且 Azure Web Apps 是一个沙箱。

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

    关于azure - 在 azure 应用服务上使用 NetOffice.PowerPointApi,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65166995/

    相关文章:

    sql - 从 SQL Server Polybase 访问 Azure Data Lake Analytics 表

    Azure Web 应用程序应用程序见解查询一段时间内的操作/依赖时间、持续时间和计数

    sql-server - 如何使用 Entity Framework Core 进行迁移,通过 ASP.NET CORE MVC 连接到现有的 Azure SQL 数据库?

    azure - 将应用程序部署到 Azure 内部应用服务环境 (ASE ILB) 内的 Azure 应用服务中

    c# - Azure 应用服务抛出运行时错误 : Assembly not Found

    来自 SSIS 包的 Azure SQL Active Directory 交互式身份验证

    azure - 使用 Azure 中的 ARM 模板在基于 Linux 容器的函数应用上启用持续部署

    azure - 部署到 Azure 时出现错误 "Request to a downlevel service failed"

    azure-web-app-service - 通过 azure 网站的端口与遗留 TCP IP 应用程序通信

    Azure 应用程序 - 分布式架构 - 1 个 API 层与 2 个 API 层 - 设计决策