升级WKHTMLTOPDF

时间:2019-04-20 19:10:30

标签: wkhtmltopdf wicked-pdf wkhtmltopdf-binary

在升级WKHTMLTOPDF之后,我以前看起来不错的所有布局现在都被弄乱了,似乎正在以不同且较小的字体进行渲染。全角div的渲染也比以前更小。

我尝试在wicked中修改dpi标志,将其设置为dpi: 300时看到了一个小的差异,但是无论更改为{{1},该差异似乎都无法解决该问题。 }。有人有提示吗?可以确定问题出在dpi上。

由于渲染的PDF看起来很棒,我们将这些版本锁定了一段时间:

  • WKHTMLTOPDF
  • wicked_pdf (1.1.0)(使用NimbusSansL Bold&Regular字体呈现)

我们有一项新功能,需要更好地处理长表中的分页符。我们已经升级了,分页符的运行效果很好,但是现在我们遇到了更多问题,以下是新版本:

  • wkhtmltopdf-binary (0.9.9.3)
  • wicked_pdf (1.2.2)(现在使用DejaVuSans,粗体和常规字体渲染)

渲染代码:

wkhtmltopdf-binary (0.12.4)

1 个答案:

答案 0 :(得分:0)

添加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