我有一个使用 pdfkit 创建 pdf 文档的 rails 3.1 应用程序,除了生成的 pdf 没有任何样式之外,一切都按规定工作。我假设 wkhtmltopdf 无法访问我的样式表,并且这不是比这更大的问题。有人知道您将如何允许访问这些样式表吗?我基本上遵循了关于该主题的 railscast #220,但是我必须创建一个新的初始化程序来让 pdfkit 与 rails 3.1 一起使用。
这是我必须用来让 pdfkit 与 rails 3.1 一起使用的初始化程序
ActionController::Base.asset_host = Proc.new { |source, request|
if request.env["REQUEST_PATH"].include? ".pdf"
"file://#{Rails.root.join('public')}"
else
"#{request.protocol}#{request.host_with_port}"
end
}
pdf 的链接如下所示:
<%= link_to 'Download PDF', load_path(@load, :format => "pdf") %>
这会给我一个没有样式的 pdf 的链接。
在我的 application.rb 中,我已将 pdfkit 配置为:
config.middleware.use PDFKit::Middleware, :print_media_type => true
我还将它添加到我的 layouts/application.html.erb 文件中:
<%= stylesheet_link_tag "application", :media => "all" %>