没有生成pdf

时间:2015-09-24 01:51:32

标签: jspdf

我使用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/并得到相同的结果。

1 个答案:

答案 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网址。