Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/270.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 通过NReco PDF生成器生成PDF时出错_C#_Nreco - Fatal编程技术网

C# 通过NReco 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

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

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应用程序的计算机上工作(尝试从命令行运行它)。