我正在尝试从 html 页面(角度 2 和 highchart)生成 pdf。
方法 htmlToPdf.GeneratePdfFromFile(" http://plnkr.co/edit/c4ojcIRVOOwq7xmk9kfx?p=preview
", null, "export.pdf") 返回空白页。
但https://www.highcharts.com/demo/polar
返回完美的高图。
是否有任何解决方案。
谢谢,
我正在尝试从 html 页面(角度 2 和 highchart)生成 pdf。
方法 htmlToPdf.GeneratePdfFromFile(" http://plnkr.co/edit/c4ojcIRVOOwq7xmk9kfx?p=preview
", null, "export.pdf") 返回空白页。
但https://www.highcharts.com/demo/polar
返回完美的高图。
是否有任何解决方案。
谢谢,
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。