2013-10-31 22 views
12

Ich arbeite in HTML5 und mit Canvas als Design-Tool.Wie auch immer ich meine Leinwand in einer JPEG-Datei als Standard speichern möchte, ist Bild/PNG und ich möchte die Vorschau meiner Leinwand in einem PDF anzeigen.HTML5 Leinwand zu PDF

Ich hoffe, die Hilfe bald zu bekommen.

+0

Mögliche Duplikate von http://StackOverflow.com/Questions/13201679/Export-Canvas-Content-To-Pdf –

+0

Ich habe durch den Link gegangen, die @paul denkt die Lösung für meine Abfrage geben. Aber ich habe die gesamte Lösung für diese Frage durchgespielt, aber keine durchführbare Lösung gefunden. Deshalb bitte ich hier um eine bestimmte und funktionierende Lösung. – justin

Antwort

19

Ein guter Ansatz ist die Kombination von jspdf.js und html2canvas.

<canvas id="canvas" width="480" height="320"></canvas> 
     <button id="download">Download Pdf</button> 

'

 html2canvas($("#canvas"), { 
      onrendered: function(canvas) {   
       var imgData = canvas.toDataURL(
        'image/png');    
       var doc = new jsPDF('p', 'mm'); 
       doc.addImage(imgData, 'PNG', 10, 10); 
       doc.save('sample-file.pdf'); 
      } 
     }); 

jsfiddle: http://jsfiddle.net/p4s5k59s/1222/

in Chrome Getestet 38, IE11 und Firefox 34. Safari, müssen Sie möglicherweise das Bildformat JPEG fron PNG ändern.

+1

Dies ist wirklich ein guter Weg für komplexe CSS-Abschnitte – cycopepe

+1

@Blizzard, das ist das perfekte Beispiel. Einfach, durch einen Knopf betätigt, einfach zu verstehen. (Warum ist das nicht die Spitze der Beispiele bei github für jspdf?) Leicht in jsfiddle angezeigt. Danke vielmals. – zipzit

+0

Diese Bibliothek scheint nicht mehr aktualisiert zu werden, dies stürzt in meinem Browser ab und es gibt mehrere offene Probleme in Bezug auf Abstürze. –