如何将morris.js图形导出为PDF? [英] How to export morris.js graph as PDF?

查看:89
本文介绍了如何将morris.js图形导出为PDF?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用Morris.js创建折线图,从mySQL数据库中检索数据。我想将其下载为包含整个图表的PDF文件。



这是我的代码:



I am creating a line chart using Morris.js which the data are retrieved from mySQL database. I wanted to download it as PDF file that contains the entire chart.

Here's my code :

<?php 
      $connect = mysqli_connect("localhost", "root", "", "testing");
      $query = "SELECT * FROM purchase";
      $result = mysqli_query($connect, $query);
      $chart_data = '';
      while($row = mysqli_fetch_array($result))
      {
        $chart_data .= "{ year:'".$row["year"]."', profit:".$row["profit"].", purchase:".$row["purchase"].", sale:".$row["sale"]."}, ";
      }
      $chart_data = substr($chart_data, 0, -2);
    ?>




<div class="row">
       <div id="chart" style="width:800px;"></div>
       <canvas id="canvas" width="800px;"></canvas>
       <button onclick="save();">Download</button>  
    </div>




Morris.Line({
     element : 'chart',
     data:[<?php echo $chart_data; ?>],
     xkey:'year',
     ykeys:['profit', 'sale'],
     labels:['Profit', 'Sale'],
     hideHover:'auto',
     stacked:true
   });


   function save() {
      html2canvas(document.getElementById('canvas'), {
      onrendered: function(canvas) {
      var img = canvas.toDataURL();
      var doc = new jsPDF();
      doc.addImage(img, 10, 10);
      doc.save('test.pdf');
        }
     });
   }





我尝试过:



我尝试使用html2canvas和jsPDF来生成PDF。但是,生成/下载的PDF不包含任何数据。



What I have tried:

I've tried using html2canvas and jsPDF to generate the PDF. However, the PDF generated/downloaded does not contain any data on it.

推荐答案

connect = mysqli_connect(localhost,root,,testing );
connect = mysqli_connect("localhost", "root", "", "testing");


query =SELECT * FROM purchase;
query = "SELECT * FROM purchase";


result = mysqli_query(
result = mysqli_query(


这篇关于如何将morris.js图形导出为PDF?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆