2

在这里,我尝试在单击按钮时将 fusioncharts 导出到 ppt。首先,我将 fusioncharts 转换为图像,然后将它们导出到 ppt。因为我需要在保存图像后生成 ppt,所以我在 javascript 中使用秒表函数来计算将融合图转换为图像所需的时间。这是我的代码:

 <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。我的问题是因为我有 3 个 fusioncharts,所以函数 FC_Exported 执行了 3 次。所以我收到 ppt 的提示 3 次。我希望它只发生 1 次。另外我认为 ppt 代码的位置不能更改,因为我使用的是时间参数。有人可以指导我吗?等待您的回复。谢谢。

注意:计时器的停止功能不能放在其他任何地方,因为我想要生成和保存图像所花费的总时间。

4

2 回答 2

0

您可以尝试使用FusionCharts 的oomfo。它适用于 PowerPoint '03 和更高版本。

于 2012-07-05T05:58:18.193 回答
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 
于 2014-01-14T06:28:47.250 回答