html 轉 pdf

來源:互聯網
上載者:User

標籤:can   ima   red   html轉換   tty   new   opd   背景   idt   

 1 /**html轉換成PDF */ 2 function exportPdf() { 3     //$(‘#htmlToPdf‘).css(‘padding‘, ‘100px 150px‘); 4     var htmlToPdf = $(".htmlToPdf"); 5     $.each(htmlToPdf, function (i, item) { 6         html2canvas($(item), { 7             onrendered: function (canvas) { 8                 var contentWidth = canvas.width; 9                 var contentHeight = canvas.height;10                 var pageHeight = contentWidth / 592.28 * 841.89;11                 //未產生pdf的html頁面高度12                 var leftHeight = contentHeight;13                 //頁面位移14                 var position = 0;15                 //a4紙的尺寸[595.28,841.89],html頁面產生的canvas在pdf中圖片的寬高16                 var imgWidth = 595.28;17                 var imgHeight = 592.28 / contentWidth * contentHeight;18 19                 var pageData = canvas.toDataURL(‘image/png‘, 1.0);20 21                 var pdf = new jsPDF(‘‘, ‘pt‘, ‘a4‘);22 23                 //有兩個高度需要區分,一個是html頁面的實際高度,和產生pdf的頁面高度(841.89)24                 //當內容未超過pdf一頁顯示的範圍,無需分頁25                 if (leftHeight < pageHeight) {26                     pdf.addImage(pageData, ‘png‘, 0, 0, imgWidth, imgHeight);27                 } else {28                     while (leftHeight > 0) {29                         pdf.addImage(pageData, ‘png‘, 0, position, imgWidth, imgHeight)30                         leftHeight -= pageHeight;31                         position -= 841.89;32                         //避免添加空白頁33                         if (leftHeight > 0) {34                             pdf.addPage();35                         }36                     }37                 }38 39                 pdf.save(‘report_‘ + new Date().getTime() + ‘.pdf‘);4061             },62             background: "#fff",63             //這裡給產生的圖片預設背景,不然的話,如果你的html根節點沒設定背景的話,會用黑色填充。64             allowTaint: true //避免一些不識別的圖片幹擾,預設為false,遇到不識別的圖片幹擾則會停止處理html2canvas65         });66 67 68     });69 }
引入js :html2canvas.js、jspdf.debug.js 連結:https://files.cnblogs.com/files/kitty-blog/jspdf.debug.js https://files.cnblogs.com/files/kitty-blog/html2canvas.js




linwalker連結:http://www.jianshu.com/p/570c84ee2e8d來源:簡書

html 轉 pdf

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.