2016-01-08 5 views
0

Хорошо, что выше - это глоток. Поэтому я захватываю холст и преобразовываю его в URI данных, используя toDataURL(). Цель состоит в том, чтобы затем создать диалог печати для печати этого изображения. У меня возникла проблема с нажатием созданного изображения в новом окне и вызовом печати на нем. См. Ниже:Печать изображения toDataURL с использованием javaScript

var image = new Image(); 
var canvas = event.context.canvas; 
var data = canvas.toDataURL(); 
image.src = data; 
var printWindow = window.open('', 'to_print', 'height=600,width=800'); 
var html = '<html><head><title></title></head><body style="width: 100%; padding: 0; margin: 0;" onload="window.focus(); window.print(); window.close()">' + image + '</body></html>'; 
printWindow.document.write(html); 
printWindow.document.close(); 

В качестве обходного пути для печати чего-либо, особенно шаблонов lodash, это работает. Это некрасиво, но это работает.

Во всяком случае, когда я запускаю это я получаю обратно:

[object HTMLImageElement] 

Я не знаю, почему это дает мне, что вместо того, чтобы выводить изображение. У кого-нибудь есть опыт попытки распечатать изображение, построенное на методе toDataURL()?

ответ

1

Вы не можете конкатенировать объект изображения в строку HTML или, скорее, вы можете, но это дает строковое представление этого объекта, то есть [object HTMLImageElement].

Вы должны были бы создать <img> тег в HTML вместо

вар х = window.open(); x.document.open(); x.document.write ('content'); x.document.close();

var canvas = event.context.canvas; 
var data = canvas.toDataURL(); 

var html = '<html><head><title></title></head>'; 
    html += '<body style="width: 100%; padding: 0; margin: 0;"'; 
    html += ' onload="window.focus(); window.print(); window.close()">'; 
    html += '<img src="' + data + '" /></body></html>'; 

var printWindow = window.open('', 'to_print', 'height=600,width=800'); 

printWindow.document.open(); 
printWindow.document.write(html); 
printWindow.document.close(); 
printWindow.close(); 
+0

Я знал, что это что-то простое. Благодаря! –

 Смежные вопросы

  • Нет связанных вопросов^_^