wicked_pdf和wkhtmltopdf页面大小问题

时间:2011-04-18 09:55:58

标签: ruby-on-rails-3 ruby-on-rails-plugins wkhtmltopdf

我使用了这些设置

WickedPdf::config = {
    :layout           => 'application.pdf.html', # use 'pdf.html' for a pfd.html.erb file
    :wkhtmltopdf      => '/bin/wkhtmltopdf', # path to binary
    :orientation      => 'Portrait', # default , Landscape
    :page_size        => 'A4',
    :dpi              => '300',
    :print_media_type => true,
    :no_background    => true,
    :margin           => {:top    => 0, # default 10 (mm)
                          :bottom => 0,
                          :left   => 0,
                          :right  => 0},

}

并将正文样式设置为

body {
    margin: 0;
    padding: 0;
    background-color: #FFF;
    width: 210mm;
    height: 297mm;
}

和一个div类.page

.page {
    display: inline-block;
    clear: both;
    border: 2px solid #FF0000;
    width: 210mm;
    height: 297mm;
    page-break-after: auto;
}

但是当创建pdf时,.page div几乎是pdf页面的一半。

2 个答案:

答案 0 :(得分:3)

如果您正在浮动页面容器,那么它将无法正常工作。我有完全相同的问题,一旦我删除浮动专业人员。

所以你的页面容器应该是:

.page {
display: block;
clear: both;
border: 2px solid #FF0000;
page-break-after: auto;}

因为inline-block就像离开它一样。

答案 1 :(得分:1)

尝试加入你的CSS

@media print
    { .page {
    display: inline-block;
    clear: both;
    border: 2px solid #FF0000;
    width: 210mm;
    height: 297mm;
    page-break-after: auto;
 }
}

如果要引用外部样式表,请确保添加media="all"

<link href="/stylesheets/scaffold.css?1304060088"
      media="all" rel="stylesheet" type="text/css">