我正在使用 ExpertPdf * HtmlToPdf *库。当我尝试 AddElement 到 PdfPage 时,我收到一个异常: “无法获得转换结果标头。数据接收错误。无法接收数据。错误代码:109 ”。我不知道为什么会这样。
以下代码:
PdfPage page = doc.Pages.AddNewPage();
HtmlToPdfElement htmlToPdfElement = new HtmlToPdfElement(0,0,0-1,"cos",null);
AddElementResult result = page.AddElement(htmlToPdfElement);
答案 0 :(得分:2)
如果您将应用程序池标识更改为具有管理员权限的用户,则可以解决问题。
答案 1 :(得分:0)
我不确定ExpertPdf是什么,但错误类似于EVO HTML to PDF Converter的问题排查指南中描述的错误:
转换失败并显示“数据接收错误”。无法接收数据。类型'System.OutOfMemoryException'的异常被抛出','内存分配错误。尝试64位版本','数据接收错误。无法接收数据。错误代码:6','数据接收错误。无法接收数据。错误代码:0','数据接收错误。无法接收数据。错误代码:109'错误消息或您在Windows日志中看到evointernal.dat进程的'异常代码:0xc0000005'
这些错误消息可以指示转换器中的内存分配错误。通常,您可以通过在64位环境中运行转换器来避免内存分配问题。这是EVO HTML to PDF Converter的推荐配置。在ASP.NET中运行转换器时,必须将IIS应用程序池的“启用32位”标志设置为false,以确保转换器在64位进程中运行。还建议使用针对64位环境优化的转换器版本,该版本在我们的网站上单独下载。此版本还应避免导航期间可能发生的内存分配问题。
看起来他们使用相同的引擎。希望这会有所帮助。