我正在尝试导出使用“使用/标签嵌入图表”创建的融合图表。
通过右键单击(在图表上)导出工作非常完美,并选择要导出的pdf。 但是我无法通过javascript完成这项工作。我在图表外面有一个按钮,点击后会调用下面的功能
function myexport()
{
var cObject = getChartFromId('Column3D');
if( cObject.hasRendered() ) cObject.exportChart({exportFormat: 'PDF'});
}
返回的上述对象为null,并且在下一行
时失败这是完整的原型
<html>
<head>
<title>My Chart</title>
<script type="text/javascript" src="fusionCharts.debug.js"></script>
<script type="text/javascript" src="fusionChartsExportComponent.js"></script>
<script type="text/javascript">
function ExportMyChart() {
var cObject = getChartFromId('Column3D');
if( cObject.hasRendered() ) cObject.exportChart({exportFormat: 'PDF'});
}
</script>
</head>
<body>
<object width="400" height="400" id="Column3D" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" >
<param name="testname" value="Column3D.swf" />
<param name="FlashVars" value="&dataURL=testData.xml&chartWidth=400&chartHeight=300&DOMId=myChart1®isterWithJS=1&debugMode=0">
<param name="quality" value="high" />
<embed src="Column3D.swf"
flashVars="&dataURL=testData.xml&chartWidth=400&chartHeight=300&DOMId=myChart1®isterWithJS=1&debugMode=0"
width="400" height="300" name="Column3D" quality="high" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />
</object>
<!-- We also create a DIV to contain the FusionCharts client-side exporter component -->
<div id="holderDiv" align="center">FusionCharts Export Handler Component</div>
<script type="text/javascript">
var myExportComponent = new FusionChartsExportObject("testExporter1", "FCExporter.swf");
//Render the exporter SWF in our DIV fcexpDiv
myExportComponent.Render("holderDiv");
</script>
<input type="button" value="Export My Chart" onclick="ExportMyChart()" />
答案 0 :(得分:0)
在fusion charts论坛上找到了答案。当在图表的浏览器中使用embed和object标记时,导出导航时会出现问题。
解释了这个问题的解决方法 here
答案 1 :(得分:0)
请在下面找到修改后的代码:
我的图表
函数ExportMyChart() { var cObject = document.getElementById('Column3D'); if(cObject.hasRendered&amp;&amp; cObject.hasRendered()) cObject.exportChart({exportFormat:'PDF'}); }
FusionCharts导出处理程序组件 var myExportComponent = new FusionChartsExportObject(“fcExporter1”,“../../ FusionCharts/FCExporter.swf”); myExportComponent.Render( “holderDiv”);
希望这有帮助。