我使用jsPDF和插件jsPDF-AutoTable
我有一个我要打印的html表
$('#printFreeRoom').on('click', function (e) {
freeRoomAvailableReport($("#freeRoomTableResult"));
});
function freeRoomAvailableReport(tableId) {
var doc = new jsPDF('p', 'pt');
doc.text("From HTML", 40, 50);
var res = doc.autoTableHtmlToJson(tableId);
doc.autoTable(res.columns, res.data, {
startY: 60
});
doc.output('dataurlnewwindow');
doc.save('test.pdf');
}
点击按钮时没有生成任何内容。
我在jsfiddle上创建了一个例子 http://jsfiddle.net/8da5e1fj/
看起来像铬问题...... 尝试了其他例子:http://jsfiddle.net/8tLt9yof/10/并得到相同的结果。
答案 0 :(得分:2)
您需要添加FileSaver.js以使用 doc.save(),Chrome也会遇到doc.output('dataurlnewwindow')
因此,这是doc.save fiddle
的工作小提琴而且,要在新窗口中打开PDF,请尝试此操作 -
var blob = doc.output("blob");
window.open(URL.createObjectURL(blob));
只是额外的"输入"在浏览器地址栏上将以chrome格式显示PDF。
<强>更新强>
根据this,Chrome不支持更长的网址。小提琴中的画布正在生成Chrome无法加载的base64网址。