我有一個使用pdfkit創建pdf文檔的rails 3.1應用程序,並且除了生成的pdf沒有任何樣式的事實之外,所有工作都按照指定的方式工作。我假設wkhtmltopdf無法訪問我的樣式表,並且它不是一個比這更大的問題。任何人都不知道如何允許訪問這些樣式表?我基本上遵循了這個主題上的railscast#220,但是我不得不創建一個新的初始化器來讓pdfkit與rails 3.1一起工作。pdfkit沒有樣式pdfs
這是我不得不用得到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
我也添加到了我的佈局/ application.html.erb文件:
<%= stylesheet_link_tag "application", :media => "all" %>
我增加了一些更多的代碼,如果你需要一個視覺或任何其他信息,我會很樂意效勞。 – tomciopp
我遇到同樣的問題。使用Rails 3.1和資產管道渲染所有上述初始化器和黑客無用。無法找出解決辦法。 – Nuby
你確定指定了':media =>「all」嗎?我很驚訝地發現默認只是「屏幕」。另一種檢查方法:如果您要求瀏覽器進行打印,頁面樣式是? –