javascript - 将图表下载为图像

标签 javascript browser charts download

我有一个 JavaScript 图表。我想让它以各种格式下载,例如png,jpg,jpeg,pdf 等。
如何在客户端执行此操作?因为我不想加载我的服务器的处理能力。
谢谢

最佳答案

我认为您可以对用于显示图表的 div 或 HTML 标记进行屏幕截图并让用户下载它。

使用html2canvasFileSaver.js

$(function() { 
    $("#btnSave").click(function() { 
        html2canvas($("#widget"), {
            onrendered: function(canvas) {
                canvas.toBlob(function(blob) {
                    saveAs(blob, "Image.png"); 
                });
            }
        });
    });
});

一旦按下 ID 为 btnSave 的按钮,它会将小部件 div 转换为 Canvas 元素,然后使用 saveAs() FileSaver 接口(interface)(在 native 不支持的浏览器中通过 FileSaver.js)将 div 保存为名为“Image.png”的图像。

FileSaver.js 可能无法在所有浏览器上正常运行。有些可能不会自动开始下载,有些可能会在其他选项卡中显示图像。但我仍然认为这是一个很好的解决方案。

如果图表已经是 Canvas ,那么您不需要将其转换为 Canvas 并忽略 html2canvas 部分。

关于javascript - 将图表下载为图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39536488/

相关文章:

javascript - 如何使用 AJAX 刷新表格

javascript - fullcalendar - 当单击上一个/下一个时,移动的事件再次恢复到旧日期

javascript - 两个系列均具有动态比例的 Highchart

java - 从模式窗口调用 Wicket setResponsePage() 时如何打败浏览器对话框弹出窗口?

java - MPAndroidChart BarChart(分组数据集)未显示所有条形图

javascript - 如何在 Javascript 中将字符串数组转换为 float

javascript - 具有绝对定位的 Flex 在 Safari 中不起作用

javascript - CKEditor 覆盖通知 DOM

browser - gmail 浏览器客户端如何检测互联网/服务器断开连接(速度和可扩展性)

html - 浏览器对象模型和文档对象模型有什么区别?