Highcharts 使用phantomjs从cmdline导出highchart

Highcharts 使用phantomjs从cmdline导出highchart,highcharts,Highcharts,我正在尝试从命令行导出highchart图形,步骤如下highchart网站提供的步骤: 它总是失败,并出现以下错误: ReferenceError: Can't find variable: Highcharts 更详细地说,他们给出的步骤如下: 下载并安装phantomjs 将这些文件全部保存到一个位置:highcharts-convert.js、highcharts.js、highcharts-more.js、jquery 很好 因此,我遵循了上述步骤,如下所示: 首先,安装phanto

我正在尝试从命令行导出highchart图形,步骤如下highchart网站提供的步骤:

它总是失败,并出现以下错误:

ReferenceError: Can't find variable: Highcharts
更详细地说,他们给出的步骤如下:

  • 下载并安装phantomjs
  • 将这些文件全部保存到一个位置:highcharts-convert.js、highcharts.js、highcharts-more.js、jquery
  • 很好 因此,我遵循了上述步骤,如下所示:

    首先,安装phantomjs:

    >npm install -g phantomjs
    
    验证安装:

    >phantomjs -v
    1.9.7
    
    第二,将指定的文件保存在一个位置,如您所见,我有:

    >ls
    
    data.js  highcharts-convert.js  highcharts.js    map.js options.json
    highcharts-3d.js    highcharts-more.js  jquery.1.9.1.min.js readme.md
    
    第三,我可以走了,但是…:

    他们的示例命令需要一个“options.json”文件来提供中的选项。我在他们的网站上找不到这方面的文档,但通过谷歌搜索,我的options.json文件如下所示:

    >more options.json
    
    {
        "xAxis": {
                "categories": ["Jan", "Feb","Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]
        },
        "series": [{
                "data": [29.9, 71.5, 106.4, 129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4]
        }]
    }
    
    B.运行highcharts页面上提供的示例命令行:

    >phantomjs highcharts-convert.js -infile options.json -outfile chart.png -scale 2.5 -width 300
    
    ReferenceError: Can't find variable: Highcharts
    
     highcharts-more.js:51
    ReferenceError: Can't find variable: Highcharts
    
      data.js:16
    ReferenceError: Can't find variable: Highcharts
    
    phantomjs://webpage.evaluate():81
    phantomjs://webpage.evaluate():150
    phantomjs://webpage.evaluate():150
    waiting
    waiting
    waiting
    waiting
    waiting
    waiting
    waiting
    waiting
    waiting
    waiting
    waiting
    waiting
    waiting
    waiting
    waiting
    waiting
    waiting
    waiting
    waiting
    waiting
    waiting
    waiting
    waiting
    waiting
    waiting
    waiting
    waiting
    waiting
    waiting
    waiting
    waiting
    waiting
    waiting
    waiting
    waiting
    waiting
    waiting
    waiting
    waiting
    ERROR: While rendering, there's is a timeout reached
    

    请注意,我还尝试编辑highcharts-convert.js脚本以提供highcharts和jquery文件的完整路径,但这没有帮助。

    在highcharts-convert.js中,您有服务器加载的所有文件的列表,如果您缺少highcharts或其他文件,您会收到错误。我建议你评论那些你不使用的文件

    您好,您知道为什么在导出highchart服务器端时会出现黑色图像吗?我遵循了相同的说明,但我总是有黑色图像,图像中显示了“甚至导出”按钮。您可以粘贴图表配置并告诉我您是否使用样式模式吗?嗨,Sebastian,我实际上解决了问题,但我可能需要更多帮助才能将此作为一项服务,因此,我可以发送一个带有数据和图表创建JavaScript文件的请求,并将输出图像保存到S3,您知道如何以一种简单的方式执行此操作吗?老实说,我不是服务器开发人员,但您可以从Highcharts中提取SVG(chart.getSVG()方法),然后将其转换为服务器上的图像,并保存它。