2016-10-11 6 views
0

Im ein PDF nur mit einem div Inhalt erzeugen triying (können Bilder haben)jspdf Export html (div) pdf funktioniert nicht

im Versuch, HTML -> PDF

dies kann how to use addHTML function in jsPDF und helfen jsPdf using html2canvas.js for export pdf from html is not working for large data

Dies ist mein Code:

$("#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-->

es gib mir diesen Fehler: jspdf.debug.js: 4455 nicht erfasste Fehler: gelieferten Daten ist kein JPEG

ich versuche

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

und arbeitet aber Zeige mir den ganzen Körper, ich brauche nur den Inhalt der div id = "printDiv" Ich benutze die lib html2canvas

Antwort

1

Sie sollten in der Lage sein, ein JQuery-Selektor verwenden nur die div zu wählen, die Sie im pdf möchten, wie folgt aus:

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