Проблемы с макетом после обновления WKHTMLTOPDF
Все мои макеты, которые раньше выглядели великолепно, теперь испорчены, после обновления они отображаются с другим шрифтом меньшего размера. WKHTMLTOPDF
, Div ширины также рендеринга меньше, чем раньше.
Я попытался изменить флаг dpi в злой, я увидел небольшую разницу, когда установлен dpi: 300
, но разница, похоже, не устранила проблему, независимо от того, dpi
, У кого-нибудь есть намеки? Я уверен, что проблема связана с изменениями, внесенными в WKHTMLTOPDF
,
Эти версии были заблокированы на некоторое время, так как отрендеренные PDF-файлы выглядели великолепно:
wicked_pdf (1.1.0)
wkhtmltopdf-binary (0.9.9.3)
(Отображается с использованием шрифта NimbusSansL Bold & Regular)
У нас есть новая функция, которая требует лучшей обработки разрывов страниц в длинных таблицах. Разрывы страниц работают отлично, теперь, когда мы обновились, но теперь у нас больше проблем, вот новые версии:
wicked_pdf (1.2.2)
wkhtmltopdf-binary (0.12.4)
(Теперь рендеринг с использованием шрифта DejaVuSans, Bold & Regular)
Код для рендеринга:
respond_to do |format|
format.html
format.pdf do
render pdf: 'report',
template: 'download_report.pdf.erb',
show_as_html: params[:debug].present?,
layout: 'report_application.pdf',
margin: {
top: 5,
bottom: 5,
left: 5,
right: 5
}
end
end
1 ответ
Добавление zoom
вариант, казалось, чтобы исправить большинство моих проблем с макетом. У затронутых div'ов есть и требуется определенная ширина пикселя. Я определил величину масштабирования, изменив размер одного из элементов div до его предыдущего, отрендеренного размера. Разделите новую ширину на старую ширину, чтобы получить масштаб:
respond_to do |format|
format.html
format.pdf do
render pdf: 'report',
zoom: 1.27,
template: 'download_report.pdf.erb',
show_as_html: params[:debug].present?,
layout: 'report_application.pdf',
margin: {
top: 5,
bottom: 5,
left: 5,
right: 5
}
end
end