2016-03-20 64 views
0

我看了一些答案,但沒有解決我的問題。wicked_pdf gem + Highcharts

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

你在圖表上看到什麼了嗎?像標題或傳奇一樣?如果不是,那麼它不是動畫問題。 wicked_pdf和渲染SVG有幾個問題,沒有必要連接到Highcharts庫本身,你檢查過它們嗎?例如[這個錯誤報告](https://github.com/mileszs/wicked_pdf/issues/313)。 –

回答

2

終於解決了。

有些步驟是沒有必要的,但我會注意到它反正幫助最多的人:

1.-變化wkhtmltopdf版本,我用的是0.12,現在我安裝

gem 'wkhtmltopdf-binary' 

這種寶石適用於0.9版本的wkhtmltopdf

2.-從Highcharts中刪除動畫和其他內容。看起來像沒有它的作品,但更好的是確定,我在本地測試,動畫等事情增加了不能及時渲染完整圖表的風險。

此配置添加到圖表容器文件:

plotOptions: { 
    series: { 
    enableMouseTracking: false, 
    shadow: false, 
    animation: false 
    } 
}, 

****注意:檢查,如果你已經在你星盤的另一部分設置plotOptions,如果你已經行所做的僅僅是增加了存在的plotOptions ,如果你寫了兩次它不會工作***

3.-將HTML結構添加到layout 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" %> 

希望它有幫助,這個答案結合了一些簡短和較少解釋的解決方案。

Regards