2016-03-20 13 views
0

Ich las einige Antworten, aber löste mein Problem nicht.wicked_pdf gem + Highcharts

Html-Diagramme funktioniert gut, aber wenn ich mit bred_pdf Diagramme in PDF exportieren, wird nicht angezeigt.

Ich habe Chart Optionen:

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

und versuchte Javascript Verzögerung geben.

Ich habe versucht, einschließlich und nicht in meinem Layout die Jquery und/oder Highcharts Js-Dateien wieder nach einigen Posts, die ich lese.

Aber nichts funktioniert für mich, meine wkhtmltopdf Bibliothek Version ist:

wkhtmltopdf 0.12.2.1 (with patched qt) 

Alle Antworten, die ich gelesen sind 2 + Jahre alt, so vielleicht jemand mich mit einer neueren Methode helfen kann.

+0

Sehen Sie etwas auf dem Diagramm? Wie Titel oder Legende? Wenn nicht, dann ist es eher kein Problem der Animation. Es gibt ein paar Probleme mit bucky_pdf und rendering SVG, nicht unbedingt mit der Highcharts-Bibliothek selbst verbunden, hast du sie überprüft? Zum Beispiel [dieser Fehlerbericht] (https://github.com/mileszs/wicked_pdf/issues/313). –

Antwort

2

Endlich gelöst.

Einige Schritte nicht notwendig waren, aber ich werde es beachten Sie sowieso die meisten Menschen helfen:

1.- ändern wkhtmltopdf Version, I 0,12 wurde mit, jetzt habe ich installiert

gem 'wkhtmltopdf-binary' 

Dieses Juwel arbeitet mit 0.9 Version von wkhtmltopdf

2.- Entfernen Sie Animationen und andere Sachen von Highcharts. Scheint wie funktioniert ohne es auch, aber es ist besser, um sicher zu sein, ich teste lokal und Sachen wie Animation erhöht das Risiko, das komplette Diagramm nicht rechtzeitig zu rendern.

diese Konfiguration zu Diagrammen Container-Datei hinzufügen:

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

**** Hinweis: Prüfen Sie, ob Sie bereits plotOptions in einem anderen Teil des Diagramms festgelegt, wenn Sie haben bereits nur die Zeilen zu den vorhandenen plotOptions hinzufügen , wenn Sie es zweimal schreiben, wird es nicht funktionieren. ***

3.- Fügen Sie der HTML-HTML-Datei eine HTML-Struktur hinzu. Denken Sie daran, dass bucky_pdf Ihre Assets-Pipeline nicht sehen kann.

<HTML> 
<HEAD> scripts </HEAD> 
<BODY> charts and text </BODY> 
</HTML> 

4.- Fügen Sie sowohl interne als auch externe JS-Dateien (CSS-Dateien enthalten, wenn Sie haben) im PDF-Layout-Ansicht (HEAD-Tag), in meinem Fall habe ich js Dateien meine Diagrammvorlagen zu speichern und dynamisch erzeugen Diagramme wie folgt:

<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" %> 

Hoffe es hilft, diese Antwort kombiniert einige kurze und weniger erklärte Lösungen.

Mit freundlichen Grüßen