Azure函数:system.private.corelib:执行函数时出现异常

2024-01-08

我正在编写一个用于 PDF 转换的 Azure 函数,它依赖于 DataLogics PDF 转换和用于密码生成的 Nuget 包 (mlkpwgen)。

功能有

using System.IO;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Azure.WebJobs;
using Microsoft.Azure.WebJobs.Extensions.Http;
using Microsoft.AspNetCore.Http;
using Microsoft.Azure.WebJobs.Host;
using Newtonsoft.Json;
using System;
using MlkPwgen;
using Datalogics.PDFL;
using System.Diagnostics;

namespace FunctionApp1   
{
public static class Function1
{

    [FunctionName("Function1")]
    public static IActionResult Run([HttpTrigger(AuthorizationLevel.Function, "get", "post", Route = null)]HttpRequest req, TraceWriter log)
    {
        log.Info("C# HTTP trigger function processed a request.");

        string name = req.Query["name"];
        PDFConversion();
        string requestBody = new StreamReader(req.Body).ReadToEnd();
        dynamic data = JsonConvert.DeserializeObject(requestBody);
        name = name ?? data?.name;

        return name != null
            ? (ActionResult)new OkObjectResult($"Hello, {name}")
            : new BadRequestObjectResult("Please pass a name on the query string or in the request body");
    }

    public static string PDFConversion()
    {
        using (Library lib = new Library())
        {


            String sInput = @"C:\Users\Kunal\Downloads\Indian Management.pdf";
            String sOutput = @"C:\Users\Kunal\Downloads\WatermarkedOutput.pdf";


            Document doc = new Document(sInput);
            string ownerPassword = PasswordGenerator.Generate(length: 32);
            string userPassword = PasswordGenerator.Generate(length: 32);
            doc.Secure(PermissionFlags.Print | PermissionFlags.HighPrint, ownerPassword, userPassword);
            WatermarkParams watermarkParams = new WatermarkParams();
            watermarkParams.Rotation = 45.3f;
            watermarkParams.Opacity = 0.15f;
            watermarkParams.TargetRange.PageSpec = PageSpec.AllPages;
            WatermarkTextParams watermarkTextParams = new WatermarkTextParams();
            Color color = new Color(0.0f / 255.0f, 0.0f / 255.0f, 0.0f / 255.0f);
            watermarkTextParams.Color = color;
            watermarkTextParams.Text = "Centre Code - Unit - 0101";
            Font f = new Font("Arial", FontCreateFlags.Embedded | FontCreateFlags.Subset);
            watermarkTextParams.Font = f;
            watermarkTextParams.FontSize = 80f;
            watermarkTextParams.TextAlign = HorizontalAlignment.Center;
            doc.Watermark(watermarkTextParams, watermarkParams);
            doc.EmbedFonts();
            doc.Save(SaveFlags.Full | SaveFlags.Linearized, sOutput);

            Process.Start(@"C:\Users\Kunal\Downloads\WatermarkedOutput.pdf");

            return sInput;
        }
    }
}
}

我收到以下异常

“System.Private.CoreLib:执行函数时出现异常: 功能1. Datalogics.PDFL:类型初始值设定项 “Datalogics.PDFL.PDFLPINVOKE”引发异常。 Datalogics.PDFL: “SWIGExceptionHelper”的类型初始值设定项引发异常。 Datalogics.PDFL:无法加载 DLL 'DL150PDFLPINVOKE':指定的 找不到模块。 (HRESULT 异常:0x8007007E)。”

相同的代码作为控制台应用程序可以正常工作。我在这里缺少什么?


如果修复硬编码文件名仍然没有帮助,则该错误听起来像是权限异常。

Azure Functions 在应用服务上运行,该服务有一个用于所有代码的沙箱,其中不允许某些调用。例如。 GDI32 被 PDF 生成库广泛使用。

阅读更多内容Azure Web 应用程序沙箱 https://github.com/projectkudu/kudu/wiki/Azure-Web-App-sandbox#pdf-generation-from-html.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Azure函数:system.private.corelib:执行函数时出现异常 的相关文章

随机推荐

  • 相当于 grails 中的 InheritanceType.TABLE_PER_CLASS 吗?

    我想为 3 个域类创建 3 个单独的表 A B 扩展 A C 扩展 B 但我希望他们的表不相互连接 在hibernate中 我会使用InheritanceType TABLE PER CLASS 在grails中 等价物是什么 尝试使用ta
  • Golang 结构体接口

    我有一个函数 其参数类型为 interface 如下所示 func LoadTemplate templateData interface 就我而言 templateData 是一个结构 但每次它都有不同的结构 我使用 interface
  • 如何从异步函数返回 Promise?

    当我尝试从异步函数返回 Promise 时 无法区分返回的 Promise 和函数的状态 我认为 最简单的解决方案是将要返回的承诺放在数组中 下面是一个愚蠢的例子 但我希望它能说明问题 function loadMetaData id Re
  • 互联网浏览器中的tinymce图标

    我正在使用 TinyMCE 但图标图像未显示在 Internet Explorer 中 我检查了讨论here https stackoverflow com questions 2625019 how do i get the icons
  • 如何在 Android 上的应用程序启动器图标上显示气球计数器

    我想为android制作一个图标计数器 就像电子邮件和三星应用程序应用程序一样 我已经看到其他开发人员提出了这样的请求 但你们都说这是不可能完成的 如果是这样 为什么这两个应用程序和其他应用程序可以做到这一点 我是否必须制作多个图标图像并交
  • 停止 NSApplication 主事件循环

    我有一个由以下内容组成的应用程序 m file import
  • Java:删除点之后的所有字符

    我有一个简短的问题 我得到以下代码 String chapterNumber 14 2 1 我怎样才能从我的 chapterNumber 中获得如下所示的字符串 String mainChapterNumber 14 Edit 我想要 in
  • 删除 API post 调用的 csrf 保护

    我想从我的 Express 3 0 应用程序中删除 csrf 因为我在那里不需要它 我使用 oauth 来验证客户端 使用express csrf 时 中间件是否将API URL列入白名单 您可以通过两种方式做到这一点 1 创建一个自己的小
  • 服务器不读取客户端消息

    我再次需要套接字编程方面的帮助 现在 我想在使用命令单击按钮后将文本字段的值写入 Linux 中的远程服务器日志文件 echo textfieldValue gt gt filename 我在 Server java 中创建了两个线程 线程
  • 使用 Deno 编译时如何使用 lib.dom.d.ts 中的类型?

    我使用 Deno 编译一些 TypeScript 然后将其作为网页的一部分提供 以便它在浏览器端运行 我正在尝试在客户端使用画布元素 为此我需要类似的类型CanvasRenderingContext2D or CanvasGradient
  • BigQuery SQL:- 识别字符串中一行中的相同数字

    我想使用 SQL Bigquery 确定字符串何时连续出现 4 次以上相同的数字 例子 AAAAAB true BBBBAA false 111111 true 01010101010101 false 到目前为止 我已经尝试过使用正则表达
  • PHP聊天客户端

    我需要在 php js ajax 中创建一个聊天应用程序 需要将其集成到一个网站中 其中遇到的问题是创建一个聊天窗口 该窗口在浏览网站中的不同页面时需要保持不变 如果有人能提出更好的方法 我将不胜感激 提前致谢 至于实际的聊天应用程序 使用
  • 在 Powershell 中导入 CSV ,每 10 行分成多个文件

    我是 powershell 编码新手 我想做的是导入行数未知的 CSV 文件 然后每 10 行将其拆分为一个新的 CSV 文件 例如 如果我输入 97 行的 CSV 文件 我期望 9 个 10 行的文件和 1 个 7 行的文件 我尝试了以下
  • 浮点运算稳定吗? [复制]

    这个问题在这里已经有答案了 我知道浮点数有精度 精度后面的数字不可靠 但如果用于计算数字的方程相同怎么办 我可以假设结果也会相同吗 例如我们有两个浮点数x and y 我们可以假设结果吗x y机器1的结果和机器2的结果完全一样吗 IE 比较
  • 使用 NSOpenPanel 限制对某些文件夹的访问

    我使用 NSOpenPanel 允许用户选择一个文件夹来保存文档 我想限制它们可以保存到哪个文件夹 就层次结构而言 本质上 我想阻止他们选择上面的任何文件夹 用户 用户名 所以文件夹 用户 用户名 猫 可以接受 但是 用户 用户名 应用程序
  • DataGridView 单击事件并不总是触发

    我有一个DataGridView Its Cell Content Click每次我选择一个单元格时都不会触发 它确实会触发 但不是每次点击时都会触发 我想获取字符串变量 selected 中选定单元格的内容 这是我正在做的事情 priva
  • 在 Google Sheets 电子表格中按名称对工作表进行排序的脚本

    我使用 Google Sheets 电子表格来管理我正在处理的文件 我在任何给定时间都有大约 60 70 个文件 每个文件都有一个唯一的文件编号 每个文件在我的电子表格中都由一个以其文件号命名的唯一工作表表示 文件编号符合以下格式 例如 5
  • 配置文件的 Module.exports 与纯 json

    我看到有多种在 Node js 中创建配置文件的方法 一种在 js 文件中使用 module exports 一种仅使用纯 json 对象 config1 js module exports config 1 value 1 config
  • 使用 NetBeans IDE 在 Java DB 中创建自动增量键

    我来自 MySQL 世界 请帮忙 是否可以从 JavaDB 中的 NetBeans IDE 创建自动增量键 您使用一些更高级的数据库客户端吗 Thanks 这可能会帮助您 CREATE TABLE custinf CUST ID INT n
  • Azure函数:system.private.corelib:执行函数时出现异常

    我正在编写一个用于 PDF 转换的 Azure 函数 它依赖于 DataLogics PDF 转换和用于密码生成的 Nuget 包 mlkpwgen 功能有 using System IO using Microsoft AspNetCor