我想在我的rails应用程序中为PDF实现一个蜘蛛图(高图表),我使用了Prawn PDF gem。因此,任何人都对在 pdf 中实现蜘蛛图有任何想法。我还有一个高图表蜘蛛图的参考截图,我想在我的 rails 应用程序 pdf 中实现相同的图表,提前谢谢。
2 回答
有prawn-svg可以将 SVG 渲染为 prawn,因此您可以制作 svg 图并将其渲染到您的 pdf 中。
Highcharts 可以导出 SVG,但要运行,您应该有一个 javascript 运行时,这是可能的,但需要一些努力来设置和运行。所以一些 ruby 级别的图表库可能更可取(你可以找到一个,因为大多数当前的图表库都是用于客户端 javacsript 的)。
更简单的解决方案是使用 html 到 pdf 转换器,例如wkhtmltopdf
popupar wicked-pdf
gem 所基于的。它运行无头浏览器,呈现页面并导出为 pdf。这个过程要慢得多,因为对于每个 pdf,必须运行一个带有浏览器的单独进程,并且生成的 pdf 更大,但您可以在标记中使用熟悉的 Web 技术并重用 html 视图。
正如您在 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/