2016-09-15 4 views
1

Ich habe jsPDF angeschaut, aber das Plugin streift CSS im exportierten PDF. Ich habe auch html2canvas angeschaut, aber das macht einen Screenshot des aktuellen Fensters. Mein HTML-Inhalt ist vor dem Benutzer verborgen und ich suche nach einer Lösung, die aus einem HTML-Block eine PDF-Datei erstellen würde. Irgendwelche Vorschläge?Wie kann ich HTML/CSS mit Javascript in PDF konvertieren?

EDIT: Ich habe gerade versucht, html2canvas zu jsPDF zu erstellen, aber ich bekomme ein leeres PDF-Dokument. Kann mir bitte jemand sagen warum? http://jsfiddle.net/5ud8jkvf/6320/

$('.download').on('click', function(){ 
    html2canvas($('.print'), { 
    onrendered: function(canvas) { 
     $('#canvas').replaceWith(canvas); 
    }, 
    //width: 200, 
    //height: 200 
    }); 
    setTimeout(function(){ 
     var doc = new jsPDF(); 
     var specialElementHandlers = { 
     '#editor': function (element, renderer) { 
      return true; 
     } 
     }; 

    doc.fromHTML($('canvas').html(), 15, 15, { 
     'width': '200', 
      'elementHandlers': specialElementHandlers 
    }); 
    doc.save('sample-file.pdf'); 

    }, 500); 
}); 
+0

http://stackoverflow.com/ Fragen/391005/convert-html-css-zu-pdf-mit-php – Benjamin

+0

Es gibt keine einfache Lösung. Sie würden die Implementierung der Hälfte des vollständigen Webbrowsers in JavaScript benötigen. Ich würde PDF auf Server mit diesem Programm generieren: http://wkhtmltopdf.org/. – Michas

Antwort

2

Könnten Sie html2canvas wie folgt verwenden, sollte es keine Rolle, dass Ihre HTML-Inhalt verborgen ist sollte es möglich sein, darauf zuzugreifen, wie so:

var pdf = new jsPDF('p', 'pt', 'letter'); 
pdf.addHTML($('#hiddenElement').html(), function() { 
    pdf.save('Test.pdf'); 
}); 
+0

Ok, ich habe dies ausprobiert - eine Kombination aus html2canvas und jsPDF hier: http://jsfiddle.net/5ud8jkvf/6320/ Gibt es eine Idee, warum die PDF ein leeres Dokument zurückgibt? – ultimatecoder

Verwandte Themen