首页 > 解决方案 > 使用 JQuery 和 jsPDF 从 HTML 生成 PDF

问题描述

这是使用 jQuery 和 jspdf 从 HTML 生成 PDF 的代码。单击“下载 pdf”按钮时不会发生任何事件。jQuery:

$(document).ready(function() {
  $('#download_pdf').click(function(e) {
    e.preventDefault();
    var pdf = new jsPDF('p', 'pt', 'letter'),
      source = $('#table_stock')[0],
      specialElementHandlers = {
        '#table_stock': function(element, renderer) {
          return true
        }
      }
    margins = {
      top: 60,
      bottom: 60,
      left: 40,
      width: 522
    };
    pdf.fromHTML(
      source, margins.left, margins.top, {
        'width': margins.width,
        'elementHandlers': specialElementHandlers
      },
      function(dispose) {
        pdf.save('Stockreport.pdf');
      },
      margins
    )
  });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="stock_report" id="table_stock"></div>
<button id="download_pdf" class="btndownloadt_stock_report btn btn-primary">Download PDF</button>

标签: javascriptphpjqueryjspdf

解决方案


您没有包含以下 lib 包含 lib,因为添加此 lib 后没有错误。

<script src='https://cdnjs.cloudflare.com/ajax/libs/jspdf/1.4.1/jspdf.min.js'></script>

另一件事只是使用$('#table_stock')没有要求[0],如果你正在使用class selector那么$('.stock_report')[0]


推荐阅读