ページにキャンバス要素があります。その上に画像とユーザーが入力したデータを描画します。ボタンを押すだけで、キャンバスをプリンターに送り、紙に印刷します。このプラグインを使用しようとしました: jQuery.printElement、そのように:
ボタンコード:
<a href="javascript:print_voucher()">PRINT</a>
'print_voucher()' 関数:
function print_voucher()
{
$("#canvas_voucher").printElement();
}
canvas_voucher はキャンバス要素の ID です。ページは印刷されましたが、キャンバスは印刷されませんでした。私もそのように使用しようとしました:
$("#canvas_voucher img").printElement();
しかし、それでもプリンターは起動しませんでした。
では、どうすればそれを行うことができますか?キャンバスの内容を印刷するにはどうすればよいですか?
**編集** キャンバスを作成し、それを使用して画像を作成しようとするコードは次のとおりです。
function create_voucher(visitor_name, visitor_identity_num, unique_number)
{
var canvas = $("#canvas_voucher")[0];
if (canvas.getContext)
{
var ctx = canvas.getContext('2d');
// Draw image
var img = new Image();
img.src = 'https://someurl.com/image.jpg';
img.onload = function(){
ctx.drawImage(img,0,0);
ctx.fillStyle="#CCC";
ctx.font="bold 20px Arial";
ctx.fillText(visitor_name, 750, 270);
ctx.fillText(visitor_identity_num, 750, 295);
ctx.font="bold 25px Arial";
ctx.fillText(unique_number, 620, 325);
}
var voucher = canvas.toDataURL("image/png");
$("#voucher_img").attr("src", voucher);
} else {
alert('You need Safari or Firefox 1.5+ to see this.');
}
}