0

我想在我的rails应用程序中为PDF实现一个蜘蛛图(高图表),我使用了Prawn PDF gem。因此,任何人都对在 pdf 中实现蜘蛛图有任何想法。我还有一个高图表蜘蛛图的参考截图,我想在我的 rails 应用程序 pdf 中实现相同的图表,提前谢谢。在此处输入图像描述

4

2 回答 2

0

prawn-svg可以将 SVG 渲染为 prawn,因此您可以制作 svg 图并将其渲染到您的 pdf 中。

Highcharts 可以导出 SVG,但要运行,您应该有一个 javascript 运行时,这是可能的,但需要一些努力来设置和运行。所以一些 ruby​​ 级别的图表库可能更可取(你可以找到一个,因为大多数当前的图表库都是用于客户端 javacsript 的)。

更简单的解决方案是使用 html 到 pdf 转换器,例如wkhtmltopdfpopupar wicked-pdfgem 所基于的。它运行无头浏览器,呈现页面并导出为 pdf。这个过程要慢得多,因为对于每个 pdf,必须运行一个带有浏览器的单独进程,并且生成的 pdf 更大,但您可以在标记中使用熟悉的 Web 技术并重用 html 视图。

于 2020-01-21T10:50:57.307 回答
0

正如您在 SO 论坛上发现的那样,很多用户建议使用 wkhtmltopdf 来执行此操作。建议的解决方案:

这是一个如何在 JavaScript 中创建蜘蛛图的示例,您应该在项目中轻松地重建它:

演示:https ://jsfiddle.net/BlackLabel/n1e0pmtv/

Highcharts.chart('container', {

  chart: {
    polar: true,
    type: 'line'
  },

  xAxis: {
    categories: ['test1', 'test2', 'test3'],
    tickmarkPlacement: 'on',
    lineWidth: 0
  },

  yAxis: {
    gridLineInterpolation: 'polygon',
    lineWidth: 0,
    min: 0
  },

  series: [{
    name: 'test',
    data: [43000, 19000, 60000],
    pointPlacement: 'on'
  }],
});

我还附上了博客的链接,其中包含使用 Ruby 实现 Highcharts 的说明。

https://www.highcharts.com/blog/post/i-am-ruby-developer-how-can-i-use-highcharts/

于 2020-01-21T10:30:17.580 回答