0

我正在测试 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)

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

4

1 回答 1

0

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

  • 处理“LogReceived”事件并获得完整的 wkhtmltopdf 控制台日志输出;它通常包含有助于理解 HTML 呈现失败的原因的消息
  • 通过为您的 HTML 输入运行 wkhtmltopdf 从命令行执行 PDF 生成

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

于 2019-09-12T08:02:25.683 回答