4

Rails 4、Wicked_PDF、Chartkick Gem の
For Google Charts を使用しています。

<%= javascript_include_tag "//www.google.com/jsapi", "chartkik" %>

html ビューには、グラフとすべてが期待どおりに表示されます。URL に .pdf を追加すると、pdf ドキュメントはブラウザに表示されますが、ChartKick チャートは表示されません。
チャートがあるはずの場所に次のエラーが表示されます。

チャートの読み込みエラー: アダプターが見つかりません

PDFKitのドキュメントで次のオンラインを見つけました。

リソースが PDF に含まれていない: 画像、CSS、または JavaScript が PDF に正しくダウンロードされていないようです。これは、wkhtmltopdf がこれらのファイルの場所を認識していないためです。リソースへの絶対パス (スラッシュで始まる) を使用していることを確認してください。生の HTML ソースから PDF を生成するために PDFKit を使用している場合は、必ず完全なパス (ドメインを含むファイル パスまたは URL) を使用してください。制限のあるサーバー環境では、root_url 構成が探しているものである可能性があり、アセット ホストを変更します。

wkhtmltopdf がグラフへのリンクを見つけていないと仮定していますが、これを修正する方法がわかりません。
誰か提案がありますか?

このリンクを見つけました:
Render jQuery in wicked_pdf

Unixmonkey は、FattRyan が Highcharts でこれを解決するのに役立ちます。

Wicket_PDF が Google チャートを使用して Chartkick からのチャートを受け入れるように、この wicked_pdf_javascript_include_tag を設定する方法を手伝ってくれる人はいますか?

4

5 に答える 5

5

PDF レイアウト内の CDN を参照するときは、プロトコルhttpまたはhttpsを指定する必要があります。

また、 chartkickは assets パイプライン経由で提供されるため、wicked_pdf_javascript_include_tag代わりに使用してください。

次の行を置き換えます。

<%= javascript_include_tag "//www.google.com/jsapi", "chartkik" %>

これとともに:

<%= javascript_include_tag "https://www.google.com/jsapi" %>
<%= wicked_pdf_javascript_include_tag "chartkick" %>

それが私のプロジェクトでそれを行う方法です。

乾杯。

于 2014-11-08T13:01:21.693 に答える
2

PDFに変換しようとしているビューの上部に次を追加します。

  <%= wicked_pdf_javascript_include_tag "application", "chartkick" %>
于 2014-10-13T14:58:16.487 に答える
1

最新の wkhtmltopdf バージョンをインストールし、手順 (3) でコントローラーにオプションを指定することで、Alex Villa の回答と同様の質問への回答から動作するようになりました。javascript_delay

respond_to do |format|
  format.html
  format.pdf do
    render pdf: "filename",
    javascript_delay: 3000,
    template: 'template_path.pdf.erb',
    layout: 'pdf.html'
  end
end
于 2015-05-09T18:10:23.937 に答える