将融合图输出到ppt

时间:2012-07-04 06:03:54

标签: javascript asp.net fusioncharts

这里我试图在按钮点击时将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代码的位置无法改变,因为我使用的是时间参数。有人可以指导我吗?等待你的回复。谢谢。

注意:计时器的停止功能无法放在其他任何位置,因为我想要生成和保存图像所需的总时间。

2 个答案:

答案 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