2017-05-09 73 views

回答

0

内部NReco.PdfGenerator执行wkhtmltopdf,它可以使基于SVG Highcharts。在你的情况下,问题出在angular2相关的JS代码中,出于某种原因它执行时会出错。您可以通过添加“--javascript调试”选项得到这个错误:

var htmlToPdf = new NReco.PdfGenerator.HtmlToPdfConverter(); 
htmlToPdf.LogReceived += (sender,a) => { 
    Console.WriteLine("---> {0}", a.Data); 
}; 
htmlToPdf.CustomWkHtmlArgs = " --javascript-debug --javascript-delay 3000 " 

(LogReceived处理来自wkhtmltopdf控制台日志行)。

不要忘了wkhtmltopdf基于WebKit-QT 4.x,它只能执行“经典”的ES5 javascript。

我可能会建议避免使用Angular2或ReactJS等SPA框架来生成用作PDF模板的HTML。或者,您可以在Web浏览器(或nodejs)中使用Angular2生成HTML,然后将此HTML传递给PdfGenerator以生成PDF。

+0

感谢您对Vitaliy的快速反应。合理 –