Wicked_pdf页面宽度,以倍数pdf表示

时间:2014-08-21 10:26:30

标签: ruby-on-rails ruby wicked-pdf

干杯!我正在使用wicked_pdf从视图生成pdf文档:

pdf = WickedPdf.new.pdf_from_string(
  render_to_string(
    :layout => "pdf_report.haml",
    :handlers => [:haml],
    :formats => [:pdf, :haml],
    :orientation => 'Landscape',
    :encoding => "utf8",
    :page_width => '2000',
    :dpi => '300'
  )
)

没关系,如果pdf有一页:

enter image description here

但是如果pdf doc有多个页面,那么页面的宽度就会被打破:

enter image description here

1 个答案:

答案 0 :(得分:2)

我无法使用您发布的代码重现您的“只有一页”方案,但是您传递的选项存在问题。他们甚至没有到达wkhtmltopdf,因此可能会为您决定 使用哪种选项。

render_to_string会默默地丢弃它不理解的任何选项,但不属于wicked_pdf

pdf_from_string有两个参数,第一个是pdf-ify的字符串,第二个是README的pdf选项的散列。

我已将您的问题添加到wicked_pdf_issues项目,以重现和调试它:

https://github.com/unixmonkey/wicked_pdf_issues/commit/b722e8a06c42e1f2bcbb98281915d1e94b4fe2c9

您应该通过将代码更改为以下内容来获得所需的结果:

string = render_to_string(
  template: 'pages/issue_330',
  formats: [:pdf],
  handlers: [:erb]
)
options = {
  orientation: 'Landscape',
  page_width: '2000',
  dpi: '300'
}
pdf = WickedPdf.new.pdf_from_string(string, options)