我无法使 Highcharts phantomJs 导出服务器工作

2023-12-23

非常感谢。

我想设置 phantomjs Highcharts 导出服务器。它应该接受 json 选项作为输入和输出 jpeg 图像文件。

这是我所做的:

  1. 我从此存储库下载服务器端 js 代码:https://github.com/highslide-software/highcharts.com/tree/master/exporting-server/phantomjs https://github.com/highslide-software/highcharts.com/tree/master/exporting-server/phantomjs
  2. 我下载的是phantomjs 1.6.0
  3. 跑步

    phantomjs highcharts-convert.js -host 127.0.0.1 -port 3001
    

然后我尝试在此站点中使用客户端代码:http://export.highcharts.com/demo http://export.highcharts.com/demo发送请求。我更改了表单操作网址:

    <form id="exportForm" action="./" method="POST">

to this:

    <form id="exportForm" action="http://0.0.0.0:3001" method="POST">

并单击“Highcharts 配置对象 (JSON)”。我收到的只是这条消息:

渲染失败: 语法错误:无法解析 JSON 字符串

由于相同的请求可以在 Highcharts 服务器中正确处理,因此错误一定是在我正在使用的 Highcharts 服务器端 js 代码中。我还尝试了以下命令:

phantomjs highcharts-convert.js -infile options.js \
                                -outfile chart.png -scale 2.5 -width 300

有了这段代码options.js:

{
  infile: {
            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]
                }]
          },
          callback: function(chart){
          chart.renderer
               .arc(200,150,100,50,-Math.PI,0)
               .attr({fill:'#FCFFC5',stroke:'black','stroke-width':1})
               .add();
          },
 constr: "Chart",
 outfile: "//tmp//chart.png"
}

并且成功生成了png。

我猜想 Highchart 并没有在导出函数上做太多工作,而且我在 highcharts-convert.js 文件中发现了一些拼写错误。谁可以帮我这个事?多谢。


我终于解决了这个问题。我猜所谓的“JSON”字符串存在误解。 Javascript 导出服务器不接受任何真正的“JSON”字符串。真正的“JSON”字符串将引用所有字符串,例如

 {
       "value": [1,2,3],
       "name": "jack"
 }

导出服务器接受的实际上是一段用于创建 Javascript 对象的 Javascript 代码, like:

 {
       value: [1,2,3],
       name: "jack"
 }

这是因为服务器将使用该字符串作为生成网页中 Javascript 代码的一部分。我写了一个小函数将JSON字符串转换为这种格式并将其传递给服务器,它终于可以工作了。

var getUnQuotedJsonString = function (str) {
  return str.replace(/"\w+":/g, function(s, key) {
    return s.replace(/"/g, "");
  });
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

我无法使 Highcharts phantomJs 导出服务器工作 的相关文章

  • 如何在 PhantomJS 中使用 JavaScript 检测网页上的声音?

    我需要检测带有横幅的网页中的所有声音 我怎样才能做到这一点 我查看 PhantomJS 但找不到浏览器声音的 API PhantomJS 1 x 和 2 不支持 Flash
  • Highcharts:仅针对单个系列的工具提示

    我的系列中有 3 个数据集 低 正常 高 显示在散点图上 如何强制仅对普通数据集启用工具提示和标记 非常感谢 格式化程序 功能用于格式化工具提示文本的回调函数 返回 false 以禁用系列上特定点的工具提示 参考 http api high
  • 使用 Highcharts 和 React 创建条形图 - 出现未找到渲染 div 的错误

    我正在尝试在我的 Web 应用程序中使用 Highcharts 创建条形图 该应用程序在前端使用 React 下面是我的仪表板 tsx 文件的片段 我基本上只是从 JSFiddle 复制并粘贴了代码 http jsfiddle net 8q
  • 将 Highcharts 导出为 PDF(使用 javascript 和本地服务器 - 无互联网连接)

    我在我的应用程序中使用 Highcharts 没有任何互联网连接 我的 html 页面上有多个图表 我想生成一个包含该页面中所有图表的 PDF 报告 我怎样才能做到这一点而不将数据发送到互联网上的任何服务器 我将感谢您提供的任何帮助或任何示
  • CasperJS - 在网站上注册并验证 Gmail 上发送的邮件 - 对于 slimer 和 phantom -

    Edit 这是windows的行为 linux就失败了 首先 如果您使用 casper 成功导航 gmail 没有随机等待时间 从 20 秒到 5 分钟 请告诉我 我想在我们的网站上注册 然后使用 Gmail 自动验证我的注册 整个注册步骤
  • 将值添加到 rCharts hPlot 工具提示

    我想通过 rCharts 向标准 Highcharts 工具提示添加一些额外的值 示例代码 require rCharts df lt data frame x c 1 5 y c 5 1 z c A B C D E name c K L
  • Phantom JS 50% 的时间失败

    我搜索一个文本框 然后尝试用字符串填充它 这是代码 var fname driver FindElement By Name iFirstName 50 if fname null do System Threading Thread Sl
  • 用于将 MS Word 表导出到 Excel 工作表的宏

    我有一个包含许多表格的word文档 有谁知道如何编写宏将此类表导出到不同的 Excel 工作表 答案摘自 http www mrexcel com forum showthread php t 36875 http www mrexcel
  • 将 PhantomJS 调用中的变量暴露给injectJS

    我已经按照从入门页面注入 jQuery 的示例进行操作 效果很好 我在同一目录中有一个 jQuery 的本地副本 并执行类似的操作 if page injectJs jquery min js page evaluate function
  • 在文件之间共享 mqtt 客户端对象

    我这样连接到 MQTT mqtt js const mqtt require mqtt var options needed options var client mqtt connect mqtt someURL options clie
  • 有没有办法从 PhantomJS 的键盘读取用户输入?

    我使用 PhantomJS 登录网站 必须手动输入验证码 如何将验证码图像保存到磁盘 然后在 PhantomJS 控制台中手动输入验证码 我遇到了同样的问题 只需将系统模块与 page render 和一些传递给 page evaluate
  • 高图表列标签

    我制作了一个包含分组和堆叠列的 Highcharts 图表 如此处的示例所示 http www highcharts com demo column stacked and grouped http www highcharts com d
  • Highcharts 问题 - 在可缩放图表中显示标签

    我有一个缩放柱形图 xAxis 中有 200 多个类别 因此 当它处于初始状态 比例1 1 时 所有这些家伙都显示在X轴下方 即使我将它们垂直放置 也无法读取任何内容 我需要缩放图表以使标签可见 Here s screenshot of t
  • 在 Windows 上从源代码构建 PhantomJS-2

    我正在尝试基于这些在 Windows 8 1 x64 上从源代码构建 PhantomJS 2 的开发版本指示 https github com ariya phantomjs wiki PhantomJS 2 但是我收到以下错误 mingw
  • 使用 Node.js 捕获延迟加载页面的屏幕截图

    我正在寻找一种方法 可以在每次更改时对长网页进行屏幕截图 我想为此使用 Node js 我的问题是关于如何渲染带有图像的完整页面并将其保存到磁盘和图像文件 网页上的大多数图像都是延迟加载的 所以我想我需要先向下滚动整个页面 然后再进行屏幕截
  • 以编程方式在 Highcharts 中使用缩放绘制矩形和线条

    我正在使用 Highcharts 进行一些编程绘图Highcharts Renderer http api highcharts com highcharts Renderer using path and rect 在下面的代码中 我手动
  • highcharts图表重绘方法不刷新图表

    我很好奇为什么按钮 2 不起作用example http jsfiddle net uKWQ9 1 在这个 jsfiddle 示例中 附加到按钮 1 的 更新 方法正在工作 但在我的原始代码中 更新 也不起作用 它显示错误 对象 没有方法
  • 滚动高图图表

    这是我的问题 我正在使用phonegap框架来开发一个混合应用程序 并且我需要这个应用程序具有我决定使用highcharts库的图表 问题是 我似乎无法在触摸图表后滚动 至少在触摸图像的选定部分内部时 我想要做的是防止图表发生任何事件 并显
  • 如何在使用类型分散时将箭头添加到行尾

    如何在 y 不等于 0 且系列类型以线宽 2 分散的情况下正确地将箭头添加到行的每一端 在这里我可以看到箭头已添加但未正确添加 请看这个 部分工作小提琴 http jsfiddle net vnYCX 这是我的 JS 最初的原型是由 sta
  • 设置股票数据 Highcharts xAxis 的格式

    我已经浏览了需要为 xAxis 属性设置的 Highcharts 选项来格式化时间标签 但没有运气了解这对于这种情况到底是如何工作的 我在白天 盘中 检索了股票的动态数据 我需要显示这些数据 因为检索的数据每天从 9 30 开始到 17 0

随机推荐

  • 为 Tensorflow 模型选择损失和指标

    我正在尝试使用预训练的方法进行迁移学习Xception具有新添加的分类器的模型 这是模型 base model keras applications Xception weights imagenet input shape 224 224
  • Django InlineModelAdmin:部分显示内联模型并链接到完整模型

    我定义了几个模型 Journals volumes volume scanInfo 等 一个日志可以有更多的卷 一个卷可以有更多的 scanInfo 我想做的是 在期刊的管理页面中 我想要内嵌卷列表 已完成 将上一个列表的每个卷连接到其管理
  • 传递比实际更小的数组

    在下面的代码中 我声明了一个数组mass有 20 个元素 当传递给子程序时foo foo被告知mass只有 10 个元素 但是 我仍然可以访问第 20 个元素 我的问题是 为什么我可以将数组传递给子例程并告诉子例程错误的数组大小 为什么我仍
  • 如何在 Flask 中向会话添加多个项目

    我在我的网站上创建了一个 添加到购物车 效果非常好 我正在使用Jquery getJSON要发出获取所选产品价值的请求 代码如下 function a process menu bind click function var amount
  • 为什么编译器坚持在这里使用被调用者保存的寄存器?

    考虑这个 C 代码 void foo void long bar long x foo return x 当我在 GCC 9 3 上编译它时 O3 or Os 我明白了 bar push r12 mov r12 rdi call foo m
  • 任何文本选项中的文本模糊

    例如 单击没有处理程序的按钮 即没有任何反应接受按钮单击动画 后 我的眼睛会出现这种丑陋的效果 按钮上的文本模糊在一秒钟内消失 从第一张图片到第二张图片 依此类推到清晰度 然后文本变得清晰度 我对 XAML 中的 TextOptions 选
  • 具有多个列表的 for 循环

    我在 terraform 中有 2 个变量列表 需要使用两个列表并创建资源 我拥有的 locals bucket name SRE Engg QA access type Private Public resource oci object
  • 逗号语法:语句中悬挂逗号背后的基本原理是 SyntaxError

    在 Python 中 变量或文字后跟一个悬挂逗号是一个 tuple 1 1 以及一系列逗号分隔的变量 文字 无论它们后面是否带有悬挂逗号 也是一个tuple 1 2 1 2 1 2 1 2 然而 在可调用 函数内部 这种语法的处理方式有所不
  • 谷歌应用程序引擎中的数据库设计

    我正在设计一个基于待办事项列表的简单项目 这个想法是以等级方式定义项目下的任务 没有工作流程 只需 任务已完成 或不需要 即每个任务都有多个任务 并且该任务可能有其他多个任务 如果该项目下的所有任务都已完成 则可以说该项目已完成 我曾想过使
  • PHP - 相互比较多维子数组并根据相似度阈值进行合并

    简介 此问题已于 2018 年 5 月 27 日更新 我有 1PHP多维数组 包含6个子数组 每个子数组包含20个子子数组 每个子数组又包含2个子子数组 一个是字符串 header 另一个是未指定数量的关键字 keywords 我希望将 1
  • Java工厂方法缓存

    我必须开发一些类似生活游戏的东西 为此 我有一个名为CellPosition具有x and y字段 为了有效地使用内存 我想使用某种工厂方法 CellPosition at int x int y 这将返回一个实例CellPosition
  • 无法加载插件 caching_sha2_password:/mariadb19/plugin/caching_sha2_password.so:无法打开共享对象文件

    我正在尝试 dockerise 我的 Django 应用程序 docker compose yml version 3 8 services db image mysql 8 command default authentication p
  • WPF如何让UserControl继承Button?

    我创建了一个由几个省略号和标签组成的用户控件 我把它很好地添加到另一种形式中 事情看起来非常时髦 然后我开始添加一些事件处理程序 发现我制作的控件没有公开 Click 事件 哎呀 很容易修复 对吧 只需回到我制作的 UserControl
  • Eclipse:自动终止(java)

    当我在Eclipse中用java编写代码并第二次运行它时 第一个进程仍在运行 例如 当我编写一个带有一些打印的无限循环时 运行一次然后再次运行 它会从第一次和第二次运行中打印 另外 Eclipse 变得越来越慢 有没有办法在重新运行时自动终
  • 如何在一个 Github Actions Docker 中运行多个命令

    在一个命令中运行多个命令的正确方法是什么action 例如 我想运行一个 python 脚本action 在运行此脚本之前 我需要安装requirements txt 我可以想到几个选择 创建一个Dockerfile用命令RUN pip i
  • 我可以将函数名称存储在最终的哈希图中以供执行吗?

    我正在构建一个管理控制器 其工作方式类似于 Flex 4 5 中的终端模拟器 服务器端是Tomcat服务器上的Red5 使用Java编程语言 当用户在其文本输入中输入命令时 该命令会发送到 red5 在 red5 中 我检查该命令是否存在
  • 如何替换 WiX 安装过程中使用的计算机 + 磁盘图标?

    是否可以使用 WiX 3 5 替换 msiexec 在安装过程中显示的古老计算机 磁盘映像 如果是这样怎么办 我目前没有使用 WixUI 我愿意使用它 只要我能获得简单的 零点击的安装体验 我已经尝试了此页面上建议的所有 WixVariab
  • Screeps 分数/模块已重置

    昨天我在第一张地图上的分数是1800 现在没有更多分数了 这个分数怎么会被删除呢 此外 我的脚本 模块也被删除了 幸运的是我将它们保存在本地 是否依赖cookies什么的 发生了什么 在模拟室中 您的模块和分数存储在浏览器中localSto
  • 作为图形执行的一部分,动态捕获 TensorFlow 中的异常

    例如 这QueueBase dequeue函数可以提高OutOfRangeError我将从Python中收到的异常Session run称呼 有什么方法可以捕获图表内的异常 类似于tf cond 例如 就像是 result tf on ex
  • 我无法使 Highcharts phantomJs 导出服务器工作

    非常感谢 我想设置 phantomjs Highcharts 导出服务器 它应该接受 json 选项作为输入和输出 jpeg 图像文件 这是我所做的 我从此存储库下载服务器端 js 代码 https github com highslide