Я не могу сгенерировать файл PDF со страницы HTML с помощью html2canvas и jspdf - PullRequest
0 голосов
/ 09 января 2020

Я пытаюсь создать PDF страницу, созданную в HTML. На этой странице есть диаграмма, созданная с помощью диаграммы Js. Я хотел бы нажать на кнопку, чтобы создать PDF-диаграмму.

Но, нажав кнопку, ничего не происходит.

  • Я использую html2canvas (потому что я читал, что необходимо сначала преобразовать файл в PNG).

  • Я использую jspdf для преобразования файла в PDF.

Смотрите код:

$('#gerar-pdf').on('click', function() {
  html2canvas(document.querySelector("container-canvas"), {
    onrendered: function(canvas) {
      var imgData = canvas.toDataURL('image/png');
      var pdf = new jsPDF('p', 'mm');
      pdf.addImage(imgData, 'PNG', 10, 10);
      pdf.save('test.pdf');
    }
  });
});
<!DOCTYPE html>
<html lang="pt-BR">

<head>
  <!-- Required meta tags -->
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE-edge">
  <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
  <title>Aprendendo</title>


  <link href="_bootstrap/4.3.1/css/bootstrap.min.css" rel="stylesheet">
  <!-- ARQUIVO CSS DO BOOTSTRAP -->

  <link href="_chart/dist/Chart.css" rel="stylesheet">
  <script src="_chart/dist/Chart.js"></script>

</head>

<body>

  <div class="row">
    <div class="col-lg-12">
      <h1 class="text-center">Gráficos de Status das Atividades</h1>
    </div>
  </div>

  <div class="container-fluid" id="container-canvas">

    <div class="row">
      <div class="col-lg-8 offset-lg-2">
        <canvas id="canvas_status_atividades" width="400" height="400"></canvas>
      </div>
    </div>

    <div class="row">
      <div class="col-lg-8 offset-lg-2">
        <button class="btn btn-primary" id="gerar-pdf">Gerar PDF</button>
      </div>
    </div>

  </div>

  <script src="_jquery/jquery-3.3.1.min.js"></script>
  <!-- ARQUIVO JQUERY -->
  <script src="_bootstrap/4.3.1/js/bootstrap.min.js"></script>
  <!-- ARQUIVO BOOTSTRAP -->
  <script src="_jsPDF/dist/jspdf.min.js"></script>
  <!-- ARQUIVO jspdf -->
  <script src="_html2canvas/html2canvas.js"></script>
  <!-- ARQUIVO html2canvas -->
  <script src="scripts/script.js"></script>

</body>

</html>

ПРИМЕЧАНИЕ : Диаграмма генерируется без проблем с диаграммой JS:

enter image description here

  • Вы можете мне помочь?
...