如何在wicked_PDF中设置页面宽度

时间:2012-01-05 11:56:59

标签: ruby-on-rails wicked-pdf

我正在使用wickedPDF在rails中创建pdf并且一切似乎都很顺利,直到我尝试放入全宽图像。我希望页面的宽度为595px(a4在72dpi)但是,如果我设置了

body{
  width: 595px;
}

一个宽度为595px的简单图像标签,它只填充屏幕的2/3。如果我将图像的宽度更改为700px,则会填满整个屏幕。

我的问题是如何更改WickedPDF生成的宽度,这是我的PDf目前的样子:

format.pdf {
        render :pdf => "pdf_1",
               :show_as_html => params[:debug].present?,
               :layout => 'pdf.html',
               :template => "/pdfs/show_pdf",
               :margin => {:top                => 0,
                           :bottom             => 0,
                           :left               => 0,
                           :right              => 0},
               :orientation      => 'Portrait', # default , Landscape,
               :no_background    => true
      }

我尝试添加缩放和页面宽度等选项但没有成功,如果我设置:dpi=>72我得到一个空白的屏幕,这样就不好了

4 个答案:

答案 0 :(得分:2)

也许您可以查看:page_size => '...'选项。来自man wkhtmltopdf

  

-s, - page-size将纸张尺寸设置为:A4,Letter等

答案 1 :(得分:0)

我有同样的问题。我使用宽度为1200-1400px的.container div,因为页面上有一个宽表。里面放了一些宽度= 100%的div。它对我来说很好,就像某种缩放。

答案 2 :(得分:0)

取决于你需要什么@Yule。我用这个:

  <div style="width: 820px; margin: auto;">
    <%= render :partial => "pdf_partial" %>
  </div>

我也在wicked_pdf.rb中有这个:

WickedPdf.config = {
  :page_size  => "Letter",
  :dpi => '300'
}

答案 3 :(得分:0)

对于保证金选项,您可以传递给wicked pdf,然后将其传递给二进制文件:

options = {margin:{right:0,left:0,top:0,bottom:0}

https://github.com/mileszs/wicked_pdf/blob/master/test/unit/wicked_pdf_test.rb#L134