【问题标题】:converting svg to pdf returning empty pdf file将 svg 转换为 pdf 返回空的 pdf 文件
【发布时间】:2017-03-17 01:22:46
【问题描述】:

我正在使用以下示例: http://jsfiddle.net/p4s5k59s/1222/

尝试将 plotly.js svg 元素转换为 pdf 图像/文件。

控制器功能:

  $scope.savePdf = function(){
    html2canvas($("#graphRender"), {
        onrendered: function(canvas) {   
        console.log(canvas);      
            var imgData = canvas.toDataURL(
                'image/png');              
            var doc = new jsPDF('p', 'mm');
            doc.addImage(imgData, 'PNG', 1000, 1000);
            doc.save('sample-file.pdf');
        }
    });
  }

HTML:

【问题讨论】:

    标签: canvas svg plotly jspdf html2canvas


    【解决方案1】:

    您使用 jsPDF 和 html2canvas 只是为了清楚了解库。 jsPDF 的文档虽然很糟糕,但我知道这是从哪里来的。这里的重要方法是

    .addImage() 方法

    语法如下:

    addImage(imgData, 'PNG', 0, position, imgWidth, imgHeight);

    尝试使用您的代码来获得正确的位置,然后调整您希望在 PDF 中具有的宽度和高度。你甚至可以在你提供的 plunker 上试一试,只需用这个替换方法以获得不同的输出:

    doc.addImage(imgData, 'PNG', 0, 10, 200, 300);

    那么我想你会明白这一点并让它发挥作用。

    【讨论】:

    • 感谢您的回答。问题是,如果我使用 id="graphRender" 或 svg 元素定位 div,则生成的图像只是白色/空的。相反,如果我以整个 document.body 为目标,那么除了 svg/plot 之外的所有内容都会出现
    猜你喜欢
    • 2018-01-04
    • 2013-06-29
    • 2011-05-06
    • 2021-10-19
    • 2016-05-23
    • 2022-11-04
    • 2018-06-16
    • 1970-01-01
    相关资源
    最近更新 更多