C# 通过NReco PDF生成器生成PDF时出错
我正在测试NReco PDF生成器,以便从C#代码生成PDF文件。到目前为止,该组件运行良好,但今天我在生成PDF时记录了一个异常:C# 通过NReco PDF生成器生成PDF时出错,c#,nreco,C#,Nreco,我正在测试NReco PDF生成器,以便从C#代码生成PDF文件。到目前为止,该组件运行良好,但今天我在生成PDF时记录了一个异常: System.Exception:无法生成PDF:(退出代码:-1073741628) --->NReco.PdfGenerator.WKHTMLTOPDFEException:(退出代码:-1073741628) 在NReco.PdfGenerator.HtmlToPdfConverter.CheckExitCode(Int32 exitCode,字符串last
System.Exception:无法生成PDF:(退出代码:-1073741628)
--->NReco.PdfGenerator.WKHTMLTOPDFEException:(退出代码:-1073741628)
在NReco.PdfGenerator.HtmlToPdfConverter.CheckExitCode(Int32 exitCode,字符串lastErrLine,布尔输出notempty)
在NReco.PdfGenerator.HtmlToPdfConverter.InvokeWkHtmlToPdf(PdfSettings PdfSettings,String inputContent,Stream outputStream)
在NReco.PdfGenerator.HtmlToPdfConverter.GeneratePdfInternal(WkHtmlInput[]htmlFiles,字符串输入内容,字符串覆盖HTML,字符串输出PffilePath,流输出流)
---内部异常堆栈跟踪的结束---
在NReco.PdfGenerator.HtmlToPdfConverter.GeneratePdfInternal(WkHtmlInput[]htmlFiles,字符串输入内容,字符串覆盖HTML,字符串输出PffilePath,流输出流)
在NReco.PdfGenerator.HtmlToPdfConverter.GeneratePdf(字符串htmlContent、字符串coverHtml、流输出)
在NReco.PdfGenerator.HtmlToPdfConverter.GeneratePdf(字符串htmlContent,字符串coverHtml)
有人知道这可能是什么原因,或者我如何调试它吗?当您看到奇怪的退出代码,如退出代码:-1073741628这意味着wkhtmltopdf进程由于某种原因被破坏。要获取更多详细信息,您可以:
- 处理“LogReceived”事件,获得完整的wkhtmltopdf控制台日志输出;它通常包含有助于理解HTML呈现失败原因的消息
- 通过为HTML输入运行wkhtmltopdf,从命令行执行PDF生成
Wkhtmltopdf存在一些未解决的已知问题,可能导致流程崩溃;这可能是:页脚内容过长,超出了页面尺寸;元素与边界半径的具体组合;特定的js代码。我会尝试这样做。只是一个简单的问题。我注意到在查看代码时,我在每次调用时都会新建一个HtmlToPdfConverter的新实例。如果这个对象的意思像一个单体或类似的东西,这可能是个问题。@ThomasArdal不重要。每次GeneratePdf方法调用时都会启动新的wkhtmltopdf进程(唯一的例外是批处理模式:BeginBatch/EndBatch)。问题不在您的C#代码中,wkhtmltopdf由于您特定的HTML输入而崩溃。如果您在任何输入中遇到此错误:请确保wkhtmltopdf在您执行.NET应用程序的计算机上工作(尝试从命令行运行它)。