【问题标题】:Exporting multiple Highcharts that are generated by looping to a single pdf导出通过循环生成的多个 Highcharts 到单个 pdf
【发布时间】:2019-10-31 07:07:28
【问题描述】:

我已经创建了某些极坐标图,并且需要将所有内容导出为单个 pdf。 这些极坐标图在某个时间间隔内被渲染到同一个容器中。所以我使用了 3 秒间隔的 setInterval 并在 setInterval 方法中填充了图表。现在我需要将所有这 12 个图表导出为一个 pdf。

var i=0;
  var interval = setInterval(function() {
            let data1= [];
            let data2= [];
            let data3= [];
            let datetime= [];
//These arrays are filled with some logic in this part
            this.populateFiveMinSpider(data1,data2,data3,datetime);
            i++;
            if(i === 12) {
                clearInterval(interval);
             }
         }
     }, 3000)
 }

我尝试在加载后将每个图表保存到本地,然后通过单击“下载”按钮将所有本地文件从服务器端(java)合并为一个 pdf。 但这只是在本地创建一个文件,而无需单击按钮下载。而且在每个图表加载之后,下载栏都会出现,这是可见的,这并不证明要求是合理的。

 events: {

            load: function () {
                var chart = this;
                    setTimeout(function () {
                        // EXPORT THE CHART HERE
                        chart.exportChart({
                            type: 'application/pdf',
                            filename: 'my-pdf'+date,
                            sourceWidth: 1100,
                            sourceHeight: 600,
                            scale: 1,
                        });
                    }, 1000);
                }
        }

此代码用于下载个人 pdf。 然后我尝试使用 getPDF() 方法在不下载的情况下获取 pdf。

帮助我一键下载这些文件。任何帮助都非常感谢。

【问题讨论】:

  • 你能在这里添加更多代码或摆弄吗
  • 抱歉,我无法共享代码。我还有一个疑问.. ('#container').highcharts() 和 new Highcharts() 有什么区别。因为我在使用第二种方法时找不到 Highcharts。
  • 我的疑惑在此没有澄清。绘制图表有两种方式。一种是("#container").highcharts(.......另一种是-new Highcharts.Charts (......这些有什么区别。你能帮我澄清一下,因为无论我在哪里输入 Highcharts,它都不被接受。
  • ("#container").highcharts(); in this #container 是您图表 div 的 id。此图表将直接从数据生成,抱歉您的问题我检查并让您知道。否则你可以创建示例 jsfiddle 并添加示例代码

标签: javascript highcharts


【解决方案1】:

整个过程可以通过JavaScript来完成。您可以在 SVG 中创建一些图表布局,然后将其导出为 PDF:

$('#export-pdf').click(function() {
    Highcharts.exportCharts([chart1, chart2, chart3, chart4], {
        type: 'application/pdf'
    });
});

现场演示: http://jsfiddle.net/BlackLabel/v0p6hce8/

有用的帖子: https://www.highcharts.com/forum/viewtopic.php?t=40493

【讨论】:

  • 我正在使用 angular2.0.0 并从脚本中包含的 cdn 获取 highcharts。由于我没有包含 highcharts-angular 模块,因此我无法使用“Highcharts”关键字。我正在绘制图表 $("#container-name").highcharts(..... 这种格式有效。有什么方法可以在不使用“Highcharts”关键字的情况下实现相同的要求。因为我尝试安装 highcharts-角度和哪里有依赖问题。
  • 嗨 @LEKSHMI SURESH,我不是 Angular 专家,但我认为你应该使用 Highcharts 的官方 Angular 包装器:npmjs.com/package/highcharts-angular
  • Highcharts 的所有版本的 Angular 包装器都支持这个 exportcharts 功能吗?
  • @LEKSHMI SURESH - 我认为答案是肯定的 - 你只需要添加和初始化 exporting 模块。
猜你喜欢
  • 2021-02-09
  • 1970-01-01
  • 2015-12-13
  • 2018-10-04
  • 1970-01-01
  • 1970-01-01
  • 2015-10-27
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多