jsPDF是一個強大的基于HTML5的PDF生成工具,許多公司需要用它來生成pdf報表。
我也是昨天才了解到它,是以我對于jspdf也是一知半解,在這裡我歸納兩種我覺得比較實用的生成方法。
連結位址http://mrrio.github.io/
首先,你必須得擁有這個插件

這是練習這個功能所需要的js檔案,但是我所歸納的兩種隻需要以下三種
如果有找不到下載下傳位址的,可以加我百度雲我發給你==>國服第一莫節操
第一種:HTML
function exportPdfHtml(){
var doc = new jsPDF();
// We'll make our own renderer to skip this editor
var specialElementHandlers = {
'#editor': function(element, renderer){
return true;
}
};
// All units are in the set measurement for the document
// This can be changed to "pt" (points), "mm" (Default), "cm", "in"
doc.fromHTML($('#bestfizz').get(0), 15, 15, {
'width': 170,
'elementHandlers': specialElementHandlers
});
document.getElementById("iframe123").src = doc.output('datauristring');
}
顧名思義就是直接将HTML頁面導出成PDF檔案,上述代碼的功能為 将一個标簽id="bestfizz"的内容導出成PDF
最後一行代碼為在目前頁面的iframe上将其顯示出來,如果你想直接下載下傳的話,使用doc.save();
這種方法雖然能直接将HTML頁面内容導出成PDF,但會丢失其原有樣式,比如你的表格table,你的css,不過網上已經有方法彌補,在這我就不細寫,大家找度娘。
第二種:圖檔
function exportPdfImage(){
html2canvas($('#bestfizz'), {
height:5000,
onrendered: function(canvas) {
var imgData = canvas.toDataURL('images');
var doc = new jsPDF('p', 'px','a3');
//數字屬性為位置拉伸
doc.addImage(imgData, 'PNG', 10, 0,0,0);
doc.save();
}
});
}
這種是将頁面轉為圖檔再将其儲存為PDF檔案,上述代碼的功能為将id="bestfizz"範圍内的内容轉換成圖檔并下載下傳為PDF
這種方法比較硬性,不夠靈活,其優缺點大家也能想到。
以上為個人筆記,都為皮毛,歡迎指錯以便共同學習,接下來我也會更加深入了解jsPDF。