【问题标题】:NReco HTML-to-PDF Generator for .NET blank pdf angular 2 highchartNReco HTML-to-PDF Generator for .NET blank pdf angular 2 highchart
【发布时间】:2017-05-09 03:52:21
【问题描述】:

我正在尝试从 html 页面(角度 2 和高图)生成 pdf。

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

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

有没有办法解决这个问题。

谢谢,

【问题讨论】:

    标签: angular highcharts html-to-pdf nreco


    【解决方案1】:

    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。

    【讨论】:

    • 感谢 Vitaliy 的快速回复。有意义
    猜你喜欢
    • 2016-04-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-17
    • 2017-01-05
    相关资源
    最近更新 更多