У меня есть приложение rails 3.1, которое создает pdf-документы с помощью pdfkit, и все работает, как указано, за исключением того факта, что сгенерированные pdf-файлы не имеют стилей. Я предполагаю, что wkhtmltopdf не имеет доступа к моим таблицам стилей и что это не более серьезная проблема. Кто-нибудь знает, как разрешить доступ к этим таблицам стилей? Я в основном следил за railscast # 220 по этому вопросу, однако мне пришлось создать новый инициализатор, чтобы заставить pdfkit работать с rails 3.1.
Это инициализатор, который мне пришлось использовать, чтобы заставить pdfkit работать с рельсами 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" %>
:media => "all"
? Я был удивлен, увидев, что по умолчанию используется только «экран». Еще один способ проверить: если вы попросите браузер распечатать, оформлена ли страница? - person Marc-André Lafortune   schedule 23.11.2011