NReco HTML-to-PDF Generator for .NET blank pdf angular 2 highchart

时间:2017-05-09 03:52:21

标签: angular highcharts html-to-pdf nreco

我想从html页面生成pdf(angular 2& highchart)。

方法htmlToPdf.GeneratePdfFromFile(“http://plnkr.co/edit/c4ojcIRVOOwq7xmk9kfx?p=preview”,null,“export.pdf”)返回空白页。

但是https://www.highcharts.com/demo/polar会返回完美的高图。

是否有任何解决方案。

谢谢,

1 个答案:

答案 0 :(得分:0)

内部NReco.PdfGenerator执行wkhtmltopdf,它可以渲染基于SVG的Highcharts。在你的情况下,问题出在与angular2相关的JS代码中,由于某种原因它会执行错误。您可以通过添加“--javascript-debug”选项来获取此错误:

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。