导出chart.jscanvas到rails中的prawn-pdf

Export chart.js canvas to prawn-pdf in rails

我正在使用 chart.js 在我的 Rails 应用程序中生成图表,并使用 Prawn-pdf 生成 pdf。 我想将使用 chart.js 生成的 canvas 导出为 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);
        }
    });
}

chart.js has a method toDataUrl()

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

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