使用 javaScript 打印 toDataURL 图像
Printing a toDataURL image using javaScript
嗯,以上是一口。所以我抓取一个 canvas 并使用 toDataURL() 将其转换为数据 URI。目标是创建一个打印对话框来打印该图像。我 运行 正在解决将创建的图像推送到新 window 并在其上调用打印的问题。见下文:
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() 方法构建的图像的经验?
您不能将图像对象连接到 HTML 的字符串中,或者您可以,但这会为您提供该对象的字符串表示形式,即 [object HTMLImageElement]
。
您必须在 HTML 中创建一个 <img>
标签
var x=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();
嗯,以上是一口。所以我抓取一个 canvas 并使用 toDataURL() 将其转换为数据 URI。目标是创建一个打印对话框来打印该图像。我 运行 正在解决将创建的图像推送到新 window 并在其上调用打印的问题。见下文:
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() 方法构建的图像的经验?
您不能将图像对象连接到 HTML 的字符串中,或者您可以,但这会为您提供该对象的字符串表示形式,即 [object HTMLImageElement]
。
您必须在 HTML 中创建一个 <img>
标签
var x=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();