我在我的项目中使用 WkHtmlToXSharp 包装库从 HTML 生成 PDF 文件。
我在不同的 PC 上多次使用这个库,突然间,我遇到了以下问题:
System.AccessViolationException:试图读取或写入受保护的内存。这通常表明其他内存已损坏。在 WkHtmlToXSharp.WkHtmlToPdfConverter.wkhtmltopdf_convert(IntPtr 转换器) 在 WkHtmlToXSharp.WkHtmlToPdfConverter。Convert(String inputHtml) at WkHtmlToXSharp.WkHtmlToPdfConverter.Convert() at WkHtmlToXSharp.MultiplexingConverter.b_8() --- 内部异常堆栈跟踪结束 --- 在 Sanford.Threading.DelegateQueue.EndInvoke(IAsyncResult 结果) 在 Sanford.Threading.DelegateQueue.Invoke(Delegate method, Object[] args) 在 WkHtmlToXSharp.MultiplexingConverter.Convert ()
这似乎是这个库的一个常见问题(我在网上找到了一些关于它的反馈 - 但是没有提供修复)。顺便说一句,就我而言,它的发生有点随机。我在其他开发机器上没有遇到这个问题。我想知道是否有人可以解决它。我还想知道这是否是包装库的问题,如果是 WkHtmlToPDF 库本身。
有什么建议吗?我也愿意使用另一个转换器,只要它是免费且稳定的,并且如果可能的话,不产生新进程。它必须在所有 Windows 版本中正常和稳定地工作,并且可以进行体面的转换(要转换的 HTML 是固定的 - 包含一些图片和表格以及基本的 CSS)。