jquery - 使用 jquery flot 将图表导出为 pdf

标签 jquery charts flot jspdf html2canvas

我在将使用 jquery flot 的更多图表导出到 pdf 时遇到问题

我使用html2canvas.jsjspdf-min.jsgraphs导出到pdf,但是我有两个问题:

首先,它导出为pdf太丑了。

第二,我想导出一页内的两个图表,但它导出到两页。

这是我的代码:

var _canvas = null;
$(function() {
  $("#id_generate_pdf").on("click", function (e) {
    window.allcanvas = [];
    var allcontainers = $('[id^="flot-placeholder"]');

    allcontainers.each(function (index, elem) {
      html2canvas($(elem).get(0), {
        onrendered: function (canvas) {
          window.allcanvas.push(canvas);
          if(allcontainers.length == allcanvas.length){
            finalpdf();
          }
        }
      });
    });
  });

  finalpdf = function(){
    var doc = new jsPDF('landscape');
    for(var i = 0; i< allcanvas.length; i++){
      var imgData = allcanvas[i].toDataURL('image/jpeg');
      doc.addImage(imgData, 'JPEG', 10, 10, 280, 65);
      if(i != allcanvas.length-1) {
        doc.addPage();
      }
    }
    doc.save('testingPDF.pdf');
  };
});

这是我的演示:My demo code

希望大家能够支持我。非常感谢。

更新:

我想导出pdf,并且此pdf包含与我附加的image相同的文本。

我不知道该怎么做。请给我一些想法或建议。非常感谢。

My demo code update

enter image description here

最佳答案

  • 删除对 doc.addPage(); 的调用
  • doc.addImage() 参数中的宽度和高度更改为与图表比例相同的值。
  • 更改第二个图表的 y 位置,使其不会与第一个图表重叠。
  • 为图表和 Canvas 设置白色背景。

查看此更新的 fiddle :http://jsfiddle.net/g2CTz/515/

关于jquery - 使用 jquery flot 将图表导出为 pdf,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35866045/

相关文章:

jquery - 在 Twitter Bootstrap 嵌套选项卡中重置事件子项

c# - 如何更改图表 "series"中特定数据点的颜色?

ios - 无法在 CorePlot 中实现像环一样的饼图

javascript - JQuery Flot x 轴上的非本地化时间

flot - Flot 中的 x 轴标签

JavaScript 逻辑失败?

javascript - 条形码阅读器在我的表单中调用提交功能

javascript - 我该怎么做才能避免同步 AJAX 请求

javascript - Charts Js 和 Angular JS 不工作,不显示图表

javascript - float 条形图数据转换