WkHtmlToXSharp 是优秀的 Html 到 PDF 转换库 wkhtmltopdf 库的 C# 包装器(使用 P/Invoke)。https://github.com/TobiTonner/WkHtmlToXSharp
我在登台 Windows Server 2008 R2 x64 环境中有两个网站,其中一个可以说是网站A版本的网站,另一个是网站B。
WkHtmlToXSharp 转换在A版本上工作,但是当我设置B版本时,转换在该版本上不起作用,我收到一个错误:
HtmlToPdf conversion failed: Failed loading page http://website/Convert (sometimes it will work just to ignore this error with --load-error-handling ignore)
我想知道为什么会这样,然后我指向A网站查看与B站点正在查找的文件夹相同的文件夹。令我惊讶的是,当我在那里运行A转换时运行良好,但是当我破坏B时,我仍然遇到相同的错误,但有趣的是两个站点都指向相同的源代码(文件夹)。我只是想知道为什么会这样。两个网站都有相似的应用程序池配置,并且在其中的机器人中启用 32 位应用程序设置得太真了。此外,我试图为两个网站设置相同的应用程序池,但仍然发生相同的事情,站点A上的转换正在工作,但B站点上的转换没有。
在我的本地环境(Windows 7 x64)上,如果我设置相同的网站转换在两种情况下都有效。
此外,我对代码进行了一些更改以忽略错误:
converter.ObjectSettings.Load.LoadErrorHandling = LoadErrorHandlingType.ignore;
但它不能修复错误,唯一的区别是现在我得到空的 pdf,以防在B网站上进行转换。
我只是想可能是 Windows Server 中的某些东西拒绝在内存中运行/保留 WkHtmlToXSharp.dll 或 wkhtmltopdf 的两个副本或类似的东西。
也许有人对此有任何想法?