1

テーブルをキャンバスに描画し、キャンバスを画像として保存したい。(pdfを作成する必要があります)

面白いことに、テーブルはキャンバスに表示されますが、.toDataURL で変換できず、空白の画像が返されるだけです。

コンソールにアラートはありません。

function getImgDataTable(tableContainer) {
    var tableArea = tableContainer.getElementsByTagName('table')[0].parentNode;
    var doc = tableContainer.ownerDocument;
    var canvas = doc.createElement('canvas');
    canvas.setAttribute('width', tableArea.offsetWidth);
    canvas.setAttribute('height', tableArea.offsetHeight);
    doc.body.appendChild(canvas);
 /* using rasterizeHTML.js */
    rasterizeHTML.drawHTML('<div style="font-size: 20px;">' + $("#data-table-chart-0").html()+ '</div>', canvas);
    var imgDataTable = canvas.toDataURL();
    console.log(imgDataTable);
    return imgDataTable;
}

私はアイデアがありません。すべての洞察が高く評価されています。

4

2 に答える 2

0

これを試してください http://jsfiddle.net/XtUFt/ html

   <div id="c"></div>
<div id="i"></div>

js

var canvas = document.createElement("canvas");
canvas.height = canvas.width = 200;
$('#c').append(canvas);

var ctx = canvas.getContext("2d");

//draw a circle
ctx.beginPath();
ctx.arc(75, 75, 70, 0, Math.PI*2, true); 
ctx.closePath();
ctx.fill();

var dataURL = canvas.toDataURL("image/png");

$('#i').append($('<img/>', { src : dataURL }));
于 2014-02-25T12:28:59.003 に答える