将chart.js画布导出到rails

时间:2015-10-05 10:47:31

标签: ruby-on-rails chart.js prawn

我使用chart.js在我的Rails应用程序中生成图表,使用Prawn-pdf生成pdfs。 我想将使用chart.js生成的画布导出为pdf。

chart.js有一个方法toDataUrl(),它提供base64字符串。 我在prawn-pdf中找不到任何接受base64的方法。 请建议。

感谢。

function done()
{
    var url_base64 =document.getElementById("myChart").toDataURL("image/png");
    $.ajax({
        type:'post', 
        url: '/admin/create_graph_to_image', 
        dataType: 'script',
        data: { string_base64: url_base64 } ,
        success: function (e) {
            console.log(e);
        },
        error: function (e) {
            console.log(e);
        }
    });
}

1 个答案:

答案 0 :(得分:0)

  

chart.js有一个方法toDataUrl()

toDataUrl是一个canvas属性(https://developer.mozilla.org/en-US/docs/Web/API/HTMLCanvasElement/toDataURL)。

它以base 64编码格式返回画布的图像表示(默认为png)。由于Prawn需要一个图像路径,你需要将这个base 64字符串发送到服务器并将其保存为文件(参见How to save a base64 string as an image using ruby),然后让Prawn使用保存文件的位置。