如何在Phonegap应用程序中将渲染的Highchart图表导出为pdf/png/jpeg



我正在尝试使用

chart.exportChart({
  type: 'application/pdf',
  filename: 'my-pdf'
});

在Phonegap应用程序中没有成功,尽管在浏览器中一切都很好。

我的问题:

我想在iOS电子邮件客户端中将渲染的图表附加为pdf/png/jpeg。如何使用chart.exportChart或任何其他方式将下载的内容保存到iOS应用程序沙盒?我应该在chart.exportChart方法的filename密钥中给出应用程序沙盒路径吗?

这是我尝试过的:(我在cordova-1.6.1.js上)

window.requestFileSystem  = window.requestFileSystem || window.webkitRequestFileSystem;
    window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, gotFileSys, fail);

function fail() {
}
function gotFileSys(fileSystem) {
    chart.exportChart({
       type: 'application/pdf',
    filename: fileSystem.root.fullPath+"/my-pdf"
    });
}

上面的不起作用,控制台说-

[INFO]成功回调时出错:File1=TypeError:"undefined"为不是功能

PS:我尝试的方式是绝望的行为:(

可以这样做-

canvg(document.getElementById('canvas'), chart.getSVG());
var canvas = document.getElementById("canvas") ; 
var img = canvas.toDataURL("image/png").replace("data:image/png;base64,", ""); //img is base64 encoded and can be persisted in the App Sandbox.

需要编写一个PhoneGap插件,并使用Matt的Category将base64编码的img转换为图像,并将二进制文件保存在应用程序沙盒中。

canvg脚本在此处可用,此处也应包含在标记中。

最新更新