- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在尝试在服务器上完全渲染和导出 FusionCharts。我知道 FCumg 和 FusionCharts .NET 解决方案等解决方案。我还实现了一个使用 Process 类运行 wkhtmltoimage 的 Java 解决方案。
但是,我正试图找到一个纯 Java 解决方案来执行此操作。我有一个 html 文件,其中包含 FusionCharts JS 库和用于生成融合图表的代码。我发现 JxBrowser 可以正确呈现图表,但它需要 X-Server 才能在 Linux 上运行。我也尝试过 Cobra/Lobo 浏览器,但它不完全支持 JavaScript。是否有任何其他方法可以在服务器上呈现和导出融合图表,或者至少呈现一个 html 文件,该文件完全包含 Java 中的 JavaScript(并且不需要 xserver)?
在此先感谢您的所有帮助!
最佳答案
更新:不需要xserver的解决方案:WebRenderer .截至 2012 年 7 月 9 日,Swing 版是唯一支持 HTML5 的版本。您可以使用 swing 版在没有 GUI 的情况下捕获图像。
我找到了一种使用 Eclipse 的 SWT 浏览器的方法。但是,这不能在 headless 模式下运行。您将不得不使用 xserver 来实现它。参见 this question .
因为这需要 xserver 并且不能在 headless 模式下运行,所以我建议使用 JxBrowser。它要简单得多,您只需要生成一个包含所有融合图表脚本的 html 文件。参见#1、#2、#3
您必须创建一个包含标题的 template.html 文件( <html><head>
), jquery.min.js, FusionCharts.js,FusionCharts.HC.js,FusionCharts.HC.Charts.js。确保每个这些脚本在它们自己的脚本标签中 ( <script type="text/javascript"> [js code] </script>
)
现在添加另一个 JavaScript 函数,它有自己的脚本标记,其中包含呈现图表的步骤。例如:
function load() { FusionCharts.setCurrentRenderer('javascript'); var chart = new FusionCharts("swf", 'chart0', "width", "height", "0", "1"); chart.setXMLData("XML DATA HERE"); chart.render("divNAMEHere"); }
现在您需要调用 load() 函数 onload,创建一个 div 来呈现图表,并结束 html 文件。例如:
`
创建一个导入 eclipse swt 浏览器库的新类。实例化 Display、Shell 和 Browser(将此用作指南以帮助理解正在发生的事情:http://www.roseindia.net/tutorials/swt/swt-browser.shtml)。
将浏览器的文本 ( browser.setText("htmlcode")
) 设置为来自 template.html 的 html 代码。执行此操作的最佳方法是使用 BufferedReader 读取文件。
最后,图像需要一些时间来渲染。现在可能有更好的方法来做到这一点,但如果你只想让它工作,我设置了一个计数,它会在一定数量后捕获图像。这是您需要添加到末尾的内容:
int i = 0;
while (!shell.isDisposed())
{
if (!display.readAndDispatch())
{
display.sleep();
i++;
// System.out.println(i);
if(i==100)
{
GC source = new GC (shell);
Image image = new Image(display, browser.getClientArea());
source.copyArea(image, 0, 0);
ImageLoader io = new ImageLoader ();
io.data = new ImageData[] { image.getImageData() };
File f = new File (currentDir+"/workpng.png");
io.save (f.getAbsolutePath(), SWT.IMAGE_PNG);
}
}
}
关于java - 在服务器上渲染和导出 FusionCharts,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11138852/
如何在使用 FusionCharts 时禁用/删除图例区域?我将使用非常小的图表,因此不需要图例区域。 最佳答案 添加 showLegend='0' 标签应该会禁用它。像这样使用它: 查看 Fusi
有没有办法只设置 Fusionchart 图的“数据”属性。因为目前当您在后期设置数据时,您需要传递具有“数据”和“图表”属性的完整 json 对象。 下面是我的示例代码; FusionCharts.
FusionCharts 能否在 Force.com 平台上运行的基于 Java 的应用程序中工作? 最佳答案 FusionCharts 确实可以在 Force.com 平台上运行。这是如何去做的。
我已经使用 FusionCharts v3.1 几年了。很长一段时间以来,我们在 Firefox 中打印图表时遇到问题,但最近我们在 IE 中打印图表时遇到了问题。在 IE 中,图表打印得非常非常小。
Fusion图表中的这些有什么区别? 名称和标签 图表 最佳答案 我假设您的问题是关于 FusionCharts 数据 XML。如果是,那么我下面的回答将是相关的。 和 XML 节点之间的区别 Fus
我检查了他们的网站,除了画廊,我找不到任何成功的东西。 例如,Google 有 Control Wrappers。哪些控件是我可以遵循 FusionCharts 的,或者我是否必须使用第三方控件或构建
当数据更新以及将图表下载到客户端时,我的图表会卡住。下面是我的更新过程。 FusionCharts.setCurrentRenderer('JavaScript'); Fus
我想知道为什么我的图表不起作用。我已经完全按照描述做了。我正在尝试根据“peak_ Generation”绘制“日期”。但是当代码运行时,它给出“没有数据可显示”的消息。可以采取什么措施来解决这个问题
我创建了两个 php 页面。第一个是主 fusionchart,它绘制了各个工厂的总产量的饼图。我还添加了一个类似的功能,使图表可点击。单击时,它会显示构成图表部分的分割图表分析。但向下钻取图表拒绝绘
我是整个开发领域的新手。您能帮我找出以下错误吗?我正在将 FusionCharts 用于学校项目,但发现填充图表很困难。我根据提供的教程创建了这些文件,但包含了 MYSQL 元素来检索数据。文件如下,
我正在使用 fusionchartsfree 为我的网站创建可视化工具。 我已经调整了示例页面,如下面的代码所示。这在我的 xampp 上 100% 有效,但是在上传(托管在 hostgator 上)
我在 php 中制作了一个折线图,我想添加自定义日期,在其中选择开始日期和结束日期以及根据该日期显示的图表,我该怎么做?这是我的代码: "; while($ors = mysql_fetch
我正在尝试在服务器上完全渲染和导出 FusionCharts。我知道 FCumg 和 FusionCharts .NET 解决方案等解决方案。我还实现了一个使用 Process 类运行 wkhtmlt
我正在使用 FusionCharts,但遇到了一些问题。在下面的快照中,我在 X 轴索引处得到 0,而不是 0(我将其标记为红色)。 还有一个问题,就是没有画线? 这是我得到的图: 这是我的 XML
我正在尝试导出 FusionCharts。 除了指定 registerWithJS="1"的 XML 文件外,我还有 和 Recent Portfolio Trends FusionChar
我想知道为什么我的图表不起作用。我已将 FusionCharts.php 和其他必要的文件包含在项目中,并使用下面的代码。该页面出现在我的浏览器上,但它没有显示图表,而是给出了No data to d
我遇到了一些与在同一 div 上使用多种图表类型的 fusioncharts drilldown 有关的问题。我的要求是: 我想在顶层使用 type='mscolumn2d' 显示年度报告,这将链接到
我想在我的 FusionChart 脚本中添加一个 for 循环,这样我就可以通过循环输入值。但到目前为止我做不到。请帮忙。这是代码。我该怎么做才能使这个循环工作? FusionCharts.read
我一直在努力让 Fusion Charts 在 Android 2.2(模拟器)上运行。但它没有加载任何东西。我只能看到空白屏幕。 以前有人在 Android 设备/模拟器上运行过 Fusion Ch
我有包含民意测验、图表和显示 HTML 代码的按钮的源站点。此代码可用于将这些图表集成到多个网站中,而无需将我们的数据库和服务器凭据信任这些网站的作者。 问题是:我如何将图表(这是 FusionCha
我是一名优秀的程序员,十分优秀!