繁体   English   中英

Django PDF 中包含的图表

[英]Charts included in Django PDF

我在这里有一个问题,我有一个 html 报告页面,其中包含 JS Highcharts、图像、表格等,我正在寻找将所有内容导出到 PDF 报告(带有表格、图像等) 问题是由于Highcharts(和其他JS图表)在浏览器中呈现,它没有出现在生成的pdf中。 我尝试了 JSPdf 和 PhantomJS,但是使用那些“屏幕截图”生成器,我失去了使用 xhtml2pdf 创建的所有样式和格式(封面和封底、水印等)。 你能帮我一下吗?

我已经解决了。 .- 拥有带有 HighchartsJS 图形的模板。 :- 阅读每个图表 canvas 并将它们存储在自己的隐藏输入中:

(function (H) {
    H.Chart.prototype.createCanvas = function (divId) {
        var svg = this.getSVG(),
            width = parseInt(svg.match(/width="([0-9]+)"/)[1]),
            height = parseInt(svg.match(/height="([0-9]+)"/)[1]),
            canvas = document.createElement('canvas');
        canvas.setAttribute('width', width);
        canvas.setAttribute('height', height);
        if (canvas.getContext && canvas.getContext('2d')) {
            canvg(canvas, svg);
            return canvas.toDataURL("image/jpeg");
        }
         else {
            alert("Your browser doesn't support this feature, please use a modern browser");
            return false;
        }
    }
}(Highcharts));
var imageData = $("#ausentismo_tot").highcharts().createCanvas();  
$('#aus_tot_image').val(imageData); //Hidden Input

.- 与发布的信息一起旅行并在views.py中处理它:

aus_tot_image = request.POST['aus_tot_image']

.- 使用 xhtml2pdf 的“render_to_pdf_response”打印 pdf 文件:

<img src="{{ aus_inc_image }}" >

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM