javascript - 使用 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>
解决方案
您没有包含以下 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]
。
推荐阅读
- java - Maven 创建不正确的清单文件,jar 文件不可执行,因为未指定主类
- firebase - Firebase 函数错误代码 400 无效参数
- r - 关于使用 R 的“rgl”和“car”进行 3D 散点图和多元回归的问题
- python - 没有命名模块;PyPi 上传的包
- bluetooth - BLE数据传输速度
- multithreading - Delphi中线程的概念方法
- pytorch - 张量 a (10) 的大小必须与非单例的张量 b (9) 的大小相匹配
- html - 3列布局不会填满屏幕宽度
- google-cloud-platform - Google 云“mk”错误“mk 的标识符 'ch04' 无效。”
- r - 闪亮:模块 UI 的 updateSelectInput(在 insertUI 之后)