邪恶的pdf中不显示图表

问题描述 投票:1回答:1

当在rails中使用wicked pdf创建pdf文件时,没有渲染图表。我已经尝试了多个版本的chart.js。没有任何效果。将pdf显示为html可以完美地工作。另外,我还尝试在chart.js中设置响应式:false,但效果不佳。

我在head标签中使用了以下内容。

 <%= wicked_pdf_javascript_include_tag "plugin_assets/rtcharts/javascripts/chart.min.js" %>
    <%= wicked_pdf_javascript_include_tag "plugin_assets/rtcharts/javascripts/chart.helper.js" %>
    <%= wicked_pdf_stylesheet_link_tag "plugin_assets/rtcharts/stylesheets/rtdashboard.css" %>

下面是图表组件

  <% charts = controlchart %>
  <div class="rtdashboard grid-container grid-cols-2">
    <% if charts.empty? %>
    <p class="nodata"><%= l(:label_no_data) %></p>
    <% else %>
        <% charts.each do |graph| %>
      <div>
        <%=  render partial: 'rtcharts/bar',
                      formats: [:html],
                      :javascript_delay => 10000,
                      locals: graph %>

       </div>
        <% end %>
      <% end %>
    </div>

而这是在我的控制器中:

format.pdf {

    render template: 'qmcontrols/show',:type => 'application/pdf', pdf: "#{@project.identifier}_qmcontrol_#{@qmcontrol.id}",
    margin: {left: 15, right:  15 },
    :footer => {:center => "#{@project.name} / #{@location_details[0]['location_company']} / #{@qmcontrol.checkitem_location}", :right => '[page] / [topage]' },:javascript_delay => 5000,show_as_html: true
      }
javascript ruby-on-rails charts chart.js wicked-pdf
1个回答
1
投票

最后,我先把图表转换为图片,然后嵌入到我的PDF中。这一切都要感谢@ty

你可以看到下面的网址,使用quickchart.io将chart.js转换为图片。参考文献 将Chart.js数据转换为图片

© www.soinside.com 2019 - 2024. All rights reserved.