我读了一些答案,但没有解决我的问题。
Html图表运行良好,但是当我使用wicked_pdf导出到PDF时,图表不显示。
我设置图表选项:
plotOptions: {
series: {
enableMouseTracking: false,
shadow: false,
animation: false
}
},
尝试给javascript延迟。
根据我读过的一些帖子,我尝试了再次包含并且不再在我的布局中包含jquery和/或highcharts js文件。
但是没有什么对我有用,我的wkhtmltopdf库版本是:
wkhtmltopdf 0.12.2.1 (with patched qt)
我读到的所有答案都是2年以上,所以也许有人可以用更新的方法帮助我。
答案 0 :(得分:3)
终于解决了。
有些步骤没有必要,但我会注意到它可以帮助大多数人:
1.-更改wkhtmltopdf版本,我使用的是0.12,现在我安装了
gem 'wkhtmltopdf-binary'
这个宝石适用于wkhtmltopdf的0.9版本
2.-从Highcharts中删除动画和其他内容。似乎没有它也可以工作,但更好的是确保,我在本地进行测试,动画之类的东西会增加不及时渲染完整图表的风险。
将此配置添加到图表容器文件:
plotOptions: {
series: {
enableMouseTracking: false,
shadow: false,
animation: false
}
},
****注意:检查你是否已经在图表的另一部分设置了plotOptions,如果你已经将这些行添加到现有的plotOptions中,如果你把它写两次就不行了。***
3.-将HTML结构添加到布局html文件中,请记住wicked_pdf无法看到您的资产管道。
<HTML>
<HEAD> scripts </HEAD>
<BODY> charts and text </BODY>
</HTML>
4.-在PDF布局视图(HEAD标签)中包括内部和外部JS文件(如果有的话,包括CSS文件),在我的例子中,我使用js文件来存储我的图表模板并生成如下的动态图表:
<script src="https://code.jquery.com/jquery-2.2.2.min.js" integrity="sha256-36cp2Co+/62rEAAYHLmRCPIych47CvdM+uTBJwSzWjI=" crossorigin="anonymous"></script>
<script src="https://code.highcharts.com/highcharts.js"></script>
<script src="https://code.highcharts.com/modules/exporting.js"></script>
<script src="https://code.highcharts.com/modules/heatmap.js"></script>
<%= wicked_pdf_javascript_include_tag "chart_templates/chart_bar_combined" %>
希望它有所帮助,这个答案结合了一些简短解释的解决方案。
此致