将 google 个图表另存为 pdf
Save google charts as pdf
我正在尝试将饼图另存为 pdf 文件,如 http://keepcoding.ehsanabbasi.com/php/convert-google-chart-to-png-and-pdf/
在 php.chartsrc 中包含 javascript 显示以下值而不是 png 图像源
"function (){if(!this.b||!this.$||!this.Ua)throw m("Chart has not finished drawing.");var a=new Ql(this.V,this.Aa),b=Tl(this.ma)[Wb](ih),a=YO(b,a),a=new EO(b,a),c=new RO(b),a=this.sO(c,a),c=yY(this.ig,this.$,this.Ua);a.Lp(this.$,c);return b[cc][0].toDataURL(Ssa)} failed (filesystem path '/var/www/html/function (){if(!this.b||!this.$||!this.Ua)throw m("Chart has not finished drawing.");var a=new Ql(this.V,this.Aa),b=Tl(this.ma)[Wb](ih),a=YO(b,a),a=new EO(b,a),c=new RO(b),a=this.sO(c,a),c=yY(this.ig,this.$,this.Ua);a.Lp(this.$,c);return b[cc][0].toDataURL(Ssa)}')
"
$script ="
google.setOnLoadCallback(drawChart);
function drawChart() { //code for drawing chart}
var chart = new google.visualization.PieChart(document.getElementById('piechart'));
google.visualization.events.addListener(chart, 'ready', function () {
var chartsrc = chart.getImageURI();
});
$doc->addScriptDeclaration($script);
echo "<div id='piechart'></div>";
你是不是把引语搞混了? '<img src='"
应该是 '<img src="'
而 "'>'
应该是 '">'
另外我认为,问题已经得到解答:Save google chart as image
我们在@cloudformatter 中添加了支持,以支持所有 Google 图表输出为 PDF、图像、XPS 和其他格式。您可以查看以下链接。
Google Charts @cloudformatter 支持页面:
http://www.cloudformatter.com/GoogleCharts
整体文档Javascript:
http://www.cloudformatter.com/CSS2Pdf.APIDoc.Usage
上面的 Google 图表网页上有一些关于实现处理程序的提示,该处理程序在绘制图表后将 SVG 命名空间添加到生成的 SVG。
您可以从顶部的菜单中进行选择以设置整个页面的格式,甚至可以从内联菜单中进行选择以仅将特定图表设置为 PDF(或其他格式)。
这里还有一个fiddle可以玩:http://jsfiddle.net/zvx6eb7e/10/,PDF按钮后面生成PDF的代码只有这个:
var click="return xepOnline.Formatter.Format('JSFiddle', {render:'download', srctype:'svg'})";
jQuery('#buttons').append('<button onclick="'+ click +'">PDF</button>');
我要注意一件事 --- 这不是从图像到 PDF 的图表,这是矢量到 PDF 的图表,以获得最高分辨率和最佳数据表示。
我正在尝试将饼图另存为 pdf 文件,如 http://keepcoding.ehsanabbasi.com/php/convert-google-chart-to-png-and-pdf/ 在 php.chartsrc 中包含 javascript 显示以下值而不是 png 图像源
"function (){if(!this.b||!this.$||!this.Ua)throw m("Chart has not finished drawing.");var a=new Ql(this.V,this.Aa),b=Tl(this.ma)[Wb](ih),a=YO(b,a),a=new EO(b,a),c=new RO(b),a=this.sO(c,a),c=yY(this.ig,this.$,this.Ua);a.Lp(this.$,c);return b[cc][0].toDataURL(Ssa)} failed (filesystem path '/var/www/html/function (){if(!this.b||!this.$||!this.Ua)throw m("Chart has not finished drawing.");var a=new Ql(this.V,this.Aa),b=Tl(this.ma)[Wb](ih),a=YO(b,a),a=new EO(b,a),c=new RO(b),a=this.sO(c,a),c=yY(this.ig,this.$,this.Ua);a.Lp(this.$,c);return b[cc][0].toDataURL(Ssa)}')
"
$script ="
google.setOnLoadCallback(drawChart);
function drawChart() { //code for drawing chart}
var chart = new google.visualization.PieChart(document.getElementById('piechart'));
google.visualization.events.addListener(chart, 'ready', function () {
var chartsrc = chart.getImageURI();
});
$doc->addScriptDeclaration($script);
echo "<div id='piechart'></div>";
你是不是把引语搞混了? '<img src='"
应该是 '<img src="'
而 "'>'
应该是 '">'
另外我认为,问题已经得到解答:Save google chart as image
我们在@cloudformatter 中添加了支持,以支持所有 Google 图表输出为 PDF、图像、XPS 和其他格式。您可以查看以下链接。
Google Charts @cloudformatter 支持页面: http://www.cloudformatter.com/GoogleCharts
整体文档Javascript: http://www.cloudformatter.com/CSS2Pdf.APIDoc.Usage
上面的 Google 图表网页上有一些关于实现处理程序的提示,该处理程序在绘制图表后将 SVG 命名空间添加到生成的 SVG。
您可以从顶部的菜单中进行选择以设置整个页面的格式,甚至可以从内联菜单中进行选择以仅将特定图表设置为 PDF(或其他格式)。
这里还有一个fiddle可以玩:http://jsfiddle.net/zvx6eb7e/10/,PDF按钮后面生成PDF的代码只有这个:
var click="return xepOnline.Formatter.Format('JSFiddle', {render:'download', srctype:'svg'})";
jQuery('#buttons').append('<button onclick="'+ click +'">PDF</button>');
我要注意一件事 --- 这不是从图像到 PDF 的图表,这是矢量到 PDF 的图表,以获得最高分辨率和最佳数据表示。