2016-11-15 9 views
1

Ich habe eine HTML-basierte Webseite erstellt, die aus einem form, einigen texts und einem canvas besteht. Ich versuche, diese Seite zu drucken, die die Leinwand auf einem Stück Papier enthält. Aber das Problem ist - die Leinwand kann nicht gedruckt werden. Ich verwendete auch toDataURL() Methode, um die canvas in ein Bild vor dem Drucken zu konvertieren, aber es hat immer noch nicht funktioniert. Kann mir jemand Hinweise geben?So drucken Sie HTML-Canvas auf Papier

var c = document.getElementById("myCanvas"); 
 
var ctx = c.getContext("2d"); 
 
ctx.fillRect(0, 0, 150, 100); 
 
var img = c.toDataURL("image/png"); 
 
document.write('<img src="'+img+'"/>'); 
 

 
function printData(){ 
 
var divToPrint=document.getElementById("printTable"); 
 
newWin= window.open(""); 
 
newWin.document.write(divToPrint.outerHTML); 
 
newWin.print(); 
 
newWin.close(); 
 
} 
 

 
$('#printButton').on('click',function(){ 
 
printData(); 
 
});
<canvas id="myCanvas"></canvas> 
 
<table id="printTable"> 
 
<button type="button" id="printButton" class="btn btn-info"> Print </i></button> 
 
<tr><td>Data1 : </td><td >HTML</td></tr> 
 
<tr><td>Data2 : </td><td >CSS</td></tr> 
 
<tr><td>Image : </td><td >Wanna print the image here.</td></tr>

+0

Mögliche Duplikat von [Quick Print HTML5 Canvas] (http://stackoverflow.com/questions/12809971/quick-print-html5-canvas) – SergeyLebedev

+0

Hier verwenden Sie JS Selektor und Jquery-Selektor. Haben Sie jQuery aufgenommen? Versuchen Sie, nur einen von ihnen zu verwenden. – Alexis

+0

Wurde zum Zeitpunkt des Aufrufs von DataURL etwas auf Ihrer Arbeitsfläche gezeichnet? – Kaiido

Antwort

0

, was Sie tun könnten einige der anderen gut beantwortet Lösungen auf andere gefragte Seiten werden versuchen, die sehr ähnlich ist, was Sie zu archieve versuchen.

Versuchen Überprüfung hier: Capture HTML Canvas as gif/jpg/png/pdf?

+0

... und die modernen Browser (Chrome, FF & Edge) ermöglichen Ihnen das Rechtsklicken - Speichern - als Leinwand auf ein Desktop-Bild. Dann kann der Benutzer das Bild mit der rechten Maustaste drucken. – markE