通过NReco PDF Generator生成PDF时出错

时间:2019-09-09 18:13:22

标签: c# nreco

我正在测试NReco PDF Generator,以从C#代码生成PDF文件。到目前为止,该组件运行良好,但是今天在生成PDF时记录了一个异常:

System.Exception: Cannot generate PDF:  (exit code: -1073741628)
 ---> NReco.PdfGenerator.WkHtmlToPdfException:  (exit code: -1073741628)
   at NReco.PdfGenerator.HtmlToPdfConverter.CheckExitCode(Int32 exitCode, String lastErrLine, Boolean outputNotEmpty)
   at NReco.PdfGenerator.HtmlToPdfConverter.InvokeWkHtmlToPdf(PdfSettings pdfSettings, String inputContent, Stream outputStream)
   at NReco.PdfGenerator.HtmlToPdfConverter.GeneratePdfInternal(WkHtmlInput[] htmlFiles, String inputContent, String coverHtml, String outputPdfFilePath, Stream outputStream)
   --- End of inner exception stack trace ---
   at NReco.PdfGenerator.HtmlToPdfConverter.GeneratePdfInternal(WkHtmlInput[] htmlFiles, String inputContent, String coverHtml, String outputPdfFilePath, Stream outputStream)
   at NReco.PdfGenerator.HtmlToPdfConverter.GeneratePdf(String htmlContent, String coverHtml, Stream output)
   at NReco.PdfGenerator.HtmlToPdfConverter.GeneratePdf(String htmlContent, String coverHtml)

任何人都知道这可能是什么原因,或者我该如何调试呢?

1 个答案:

答案 0 :(得分:0)

当您看到奇怪的退出代码,例如exit code: -1073741628时,这意味着wkhtmltopdf进程由于某种原因而被压缩。要获取更多详细信息,您可以:

  • 处理“ LogReceived”事件并获取完整的wkhtmltopdf控制台日志输出;通常它包含可能有助于理解为什么HTML渲染失败的消息
  • 通过运行HTML输入的wkhtmltopdf从命令行执行PDF生成

Wkhtmltopdf存在一些尚未解决的已知问题,可能会导致进程崩溃;这可能是:页脚内容太长,超出了页面尺寸;具有边界半径的元素的特定组合;特定的js代码。