这里我试图在按钮点击时将fusioncharts导出到ppt。首先我将fusioncharts转换为图像,然后将它们导出到ppt。因为我需要在保存图像后生成ppt我正在使用秒表函数在javascript中计算将fusioncharts转换为image所需的时间。这是我的代码:
<script type="text/javascript">
var initiateExport = false;
var _sw = new StopWatch();
var time;
function exportReport() {
exportCharts();
return false;
}
function exportCharts() {
_sw.start();
var exportFormat = 'JPG';
initiateExport = true;
for (var chartRef in FusionCharts.items) {
if (FusionCharts.items[chartRef].exportChart) {
document.getElementById("linkToExportedFile").innerHTML = "Exporting...";
FusionCharts.items[chartRef].exportChart({ "exportFormat": exportFormat });
}
else {
document.getElementById("linkToExportedFile").innerHTML = "Please wait till the chart completes rendering...";
}
}
}
function FC_Exported(statusObj) {
_sw.stop();
time = _sw.duration();
setTimeout(' document.getElementById("MainContent_Button1").click();', time);
}
</script>
在上面的代码中 document.getElementById(“MainContent_Button1”)。click(); 函数生成ppt.My问题是因为我有3个fusioncharts函数FC_Exported被执行3次。所以我得到了3次ppt的提示。我希望它只发生一次。另外我认为ppt代码的位置无法改变,因为我使用的是时间参数。有人可以指导我吗?等待你的回复。谢谢。
注意:计时器的停止功能无法放在其他任何位置,因为我想要生成和保存图像所需的总时间。
答案 0 :(得分:0)
您可以尝试使用FusionCharts中的oomfo。它适用于PowerPoint '03及更高版本。
答案 1 :(得分:0)
最近我使用fusioncharts导出为ppt。这个过程很简单,如下:
- Capture image from the client side
- Save Image at server side
- Use Apache POI to create a slideshow
- Add stored image in slide as :
// get server context
ServletContext context = request.getServletContext();
// get image stored file path
String []imagefilename=filename.split("/ExportedImages");
// get image filename
String filename = context.getRealPath("/ExportedImages"+imagefilename[1]);
// Create Slide
Slide slide1 = slideShow.createSlide();
try {
int idx=slideShow.addPicture(new File(filename), org.apache.poi.hslf.model.Picture.JPEG);
org.apache.poi.hslf.model.Picture pict = new org.apache.poi.hslf.model.Picture(idx);
//set image position in the slide
pict.setAnchor(new java.awt.Rectangle(100, 100, 300, 200));
slide1.addShape(pict);
} catch (IOException e1) {
e1.printStackTrace();
}
- Then Download file