ruby-on-rails - 将 chart.js Canvas 导出到 Rails 中的 prawn-pdf

标签 ruby-on-rails chart.js prawn

我正在使用 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 )。

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

关于ruby-on-rails - 将 chart.js Canvas 导出到 Rails 中的 prawn-pdf,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32946743/

相关文章:

javascript - 如何使用api创建quickblox应用程序?

ruby-on-rails - ActiveRecord 查询的返回类型

javascript - 将鼠标事件冒泡到 Chart.js 的父 Canvas

chart.js - ChartJS - 将图例标题添加到工具提示标题中

ruby-on-rails - 将外部 PDF 插入到 Prawn 生成的文档中

ruby-on-rails - 在 Linux 上运行的 Rails 和 https (ssl)

ruby-on-rails - 为 rails 中的特定 Controller 跳过/禁用 force_ssl

javascript - chart.js 2.0 当前鼠标坐标工具提示

ruby-on-rails - Prawn 设置字体颜色

ruby-on-rails-3 - Rails、Prawn - PDF 显示在浏览器等中