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つのフュージョンチャートがあり、関数FC_Exportedが3回実行されるため、pptのプロンプトが3回表示されることです。1回だけ発生させたいのですが、時間パラメーターを使用しているため、pptコードの配置を変更できないと思います.誰かが私を案内してくれますか? あなたの応答を待っています。ありがとうございます。

注: タイマーの停止機能を他の場所に配置することはできません。これは、画像の生成と保存にかかる合計時間が必要だからです。

4

2 に答える 2

0

FusionChartsの oomfoを使用してみてください。これは、PowerPoint '03 以降のバージョンを対象としています。

于 2012-07-05T05:58:18.193 に答える
0

最近、フュージョンチャートを使用して 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 に答える