2016-10-11 178 views
0

林triying生成PDF只有一個div內容(可以有圖片)jspdf導出HTML(DIV)以PDF不工作

我嘗試HTML - > PDF

這可以幫助how to use addHTML function in jsPDFjsPdf using html2canvas.js for export pdf from html is not working for large data

這是我的代碼:

$("#pdfButton").click(function(){ 
 
    $(".compare_wrapper").clone().appendTo("#printDiv"); 
 
    var pdf = new jsPDF('l', 'pt', 'a4'); 
 
    var options = { 
 
    pagesplit: true 
 
    }; 
 
    pdf.addHTML($('#printDiv'), 0, 0, options, function(){ 
 
    pdf.save("test.pdf"); 
 
    }); 
 
    $("#printDiv").empty(); 
 
}); 
 
});
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> 
 
<script src="https://cdnjs.cloudflare.com/ajax/libs/jspdf/1.3.2/jspdf.debug.js"></script> 
 
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/html2canvas/0.4.1/html2canvas.min.js"></script> 
 

 
<div id="printDiv" style='padding:0;top:0;left:0;margin:0;' hidden></div> 
 

 
<div class="row"> 
 
     <div class="compare_wrapper col-md-12"> <!--Here i show the data-->

它給我這個錯誤: jspdf.debug.js:4455未捕獲的錯誤:提供的數據是不是JPEG

我嘗試

var pdf = new jsPDF('l', 'pt', 'a4'); 
 
     var options = { 
 
      pagesplit: true 
 
     }; 
 
     pdf.addHTML($('body'), 0, 0, options, function(){ 
 
      pdf.save("test.pdf"); 
 
     });

和作品,但向我展示所有正文,我只需要div id =「printDiv」的內容我使用lib html2canvas

回答

1

你應該能夠使用jQuery選擇選擇只是你的PDF想在div,像這樣:

var pdf = new jsPDF('l', 'pt', 'a4'); 
 
     var options = { 
 
      pagesplit: true 
 
     }; 
 
     pdf.addHTML($('#printDiv'), 0, 0, options, function(){ 
 
      pdf.save("test.pdf"); 
 
     });