установки: Rails 4.1.1 приложений с использованием gem 'wicked_pdf', '~> 0.11.0'
и вручную установленного wkhtmltopdf бинарной версии 0.12.1 (с исправленной QT)Wicked_PDF/wkhtmltopdf различных шрифтов и ширина страницы размеры от PDFs в разных контроллерах
У меня есть производящий два контроллера аналогичные отчеты в формате PDF, которые содержат несколько страниц. У меня есть частичные для страниц, которые разделяются между двумя типами отчетов.
код контроллера:
# GET /assessments/1
def show
respond_to do |format|
format.html
format.pdf do
render pdf: "Individual_Report-#{Date.today}",
disposition: "inline",
layout: "pdf",
dpi: "300",
encoding: "UTF-8",
show_as_html: params[:debug].present?
end
end
end
# GET /reports/1
def show
respond_to do |format|
format.html
format.pdf do
render pdf: "Team_Report-#{Date.today}",
disposition: "inline",
layout: "pdf",
dpi: "300",
encoding: "UTF-8",
show_as_html: params[:debug].present?
end
end
end
код Вид:
# layouts/pdf.slim
doctype html
html
head
meta charset="utf-8"
title
= content_for?(:title) ? yield(:title) : 'Main Title'
== wicked_pdf_stylesheet_link_tag "application", :media => 'all'
== wicked_pdf_stylesheet_link_tag "print", :media => 'all'
== wicked_pdf_javascript_include_tag 'vendor/modernizr'
== csrf_meta_tags
body data-action=action_name data-controller=controller_name data-format="pdf"
main
== yield
== wicked_pdf_javascript_include_tag 'application'
javascript:
window.jQuery || alert("false");
# assessments/show.pdf.slim
= render "shared/cover", m: @assessment, t: "Individual"
= render "shared/about"
= render "shared/team", report: @report
# etc. etc. this is where the reports differ
# reports/show.pdf.slim
= render "shared/cover", m: @report, t: "Team"
= render "shared/about"
= render "shared/team", report: @report
# etc. etc. this is where the reports differ
Однако в отчете от контроллера оценок генерирует PDF, который имеет несколько меньшую ширину контента и, соответственно, меньший размер текста. Рендеринг html с параметром debug дает идентичные страницы, и проверка css не показывает различий. Я использую Foundation в качестве рамки css, но я не думаю, что это важно.
Я прочитал некоторые о опции wkhtmltopdf --disable-smart-shrinking
, но я не уверен, что это используется wicked_pdf, и если да, то как это сделать, если он может быть изменен в инициализаторе wicked_pdf.rb. Я также установил dpi и разные значения. Настройка полей страницы помогает некоторым, но не устраняет основную проблему. Я могу добавить скриншоты, если это необходимо, но я думаю, что проблема должна быть достаточно ясной без них.
Спасибо за любую помощь по устранению проблемы или настройке параметров wkhtmltopdf с помощью wicked_pdf.