【问题标题】:export fusioncharts to ppt将融合图导出到 ppt
【发布时间】:2012-07-04 14:43:39
【问题描述】:

在这里,我尝试在单击按钮时将 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 次。所以我收到了 3 次 ppt 提示。我希望它只发生 1 次。另外我认为 ppt 代码的位置不能更改,因为我正在使用 时间参数。有人可以指导我吗?等待您的回复。谢谢。

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

【问题讨论】:

    标签: javascript asp.net fusioncharts


    【解决方案1】:

    最近我使用 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 
    

    【讨论】:

      【解决方案2】:

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

      【讨论】:

      • 嗨..我一直在寻找更多涉及 javascript 的解决方案。但无论如何我们终于设法使用 c# 版本的代码解决了这个问题。无论如何感谢您的回复。
      猜你喜欢
      • 2017-06-16
      • 1970-01-01
      • 1970-01-01
      • 2011-12-25
      • 1970-01-01
      • 1970-01-01
      • 2012-12-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多