【发布时间】:2017-12-16 23:29:36
【问题描述】:
我有一个 Rails 应用程序,我需要将其中一个视图呈现为可下载的 PDF。视图本身由许多部分组成,而这些部分又由更多部分组成,依此类推。这是顶层视图:
<meta charset="utf-8" />
<%= javascript_include_tag "jquery-ui.min", media: "all", "data-turbolinks-track" => true %>
<%= javascript_include_tag "report", media: "all", "data-turbolinks-track" => true %>
<%= stylesheet_link_tag "report_style", media: "all", "data-turbolinks-track" => true %>
<div class="report">
<%= render partial: "details", locals: { examinee: @examinee, te: @test_event } %>
<div class="page-break"></div>
<%= render partial: "grades", locals: { scores: @test_event.scores, tasks: Task.tasks_for_report(@test_event.language) } %>
<div class="page-break"></div>
<%= render partial: "ld", locals: { test_event: @test_event } %>
<%= render partial: "review", locals: { test_event: @test_event } %>
<div class="page-break"></div>
<%= render partial: "appendix" %>
</div>
由于渲染视图的复杂性,我更喜欢从 html 生成 PDF,而不是将所有内容写入两次,一次为 .html.erb,另一次为 pdf.erb。
我已经尝试过 pdfkit 和 wickedpdf,但在这两种情况下我都失败了:
pdfkit 让我的瘦服务器挂起,无论我尝试什么 - 建议的解决方案都没有 here、here 和 here 有任何影响,事情仍然很糟糕。
wicked_pdf 实际上已成功生成 PDF,但它再次忽略了我所有的 css 和 js 代码,即使使用 wicked_pdf_javascript_include_tag 及其相应的 css 双胞胎调用也是如此。这无法进行,因为我需要分页符和各种 js 脚本创建的所有内容(例如,chartist 制作的一些绘图)。
有什么想法吗?
【问题讨论】:
标签: ruby-on-rails-4 pdf wkhtmltopdf pdfkit wicked-pdf