WicketPDF rendering table not aligned properly and footer place at last page

徘徊边缘 提交于 2019-12-01 13:15:53

问题


I am generating pdf report from html page, I created the layout with header and footer separately , I need header only for first page and footer at last page, I tried some scripts for that but it is not working, and how to avoid page break inside table row and I need border for each page without breaking table row is breaking like as shown in an image.

respond_to do |format|
  format.html
  format.pdf {
     render :pdf => "Report",
            :template => 'layouts/pdf_layout.pdf.erb',
            :layout => 'pdf_layout.pdf.erb',
            :margin => {:bottom => 35},
            :page_size => 'A4',
            :header => {:content => render_to_string({:template => 'layouts/header.pdf.erb'})},
            :footer => {:content => render_to_string({:template => 'layouts/footer.pdf.erb'})}
  }
end

Any other suggestion

Thanks in advance


回答1:


Page break issues can usually be mitigated with a few css rules, well placed:

div.alwaysbreak { page-break-before: always; }
div.nobreak:before { clear:both; }
div.nobreak{ page-break-inside: avoid;
  /* http://code.google.com/p/wkhtmltopdf/issues/detail?id=9#c21 */
}

So, one of the interesting things is that these rules don't work on table elements, so if you have a table and want to prevent cells from being split in half, you can wrap each table row with a <div>.

This is certainly not clean & semantic, but you can do it like this:

<table>
  <thead>
    <div class='nobreak'>
      <tr>
        <th>One</th><th>Two</th>
      </tr>
    </div>
  </thead>
  <tbody>
    <div class = 'nobreak'>
      <tr>
        <td>Uno</td><td>Dos</td>
      </tr>
    </div>
  </tbody>
</table>

To get your page borders to line up perfectly, you are probably going to have to set it to a fixed height with CSS with an .awaysbreak, then have some javascript that computes the height of the table and breaks it into chunks based on height.

Maybe it's just because your table so far is so simple, but this looks like it might be a good candidate to try using prawn with. You'll have better control of those types of layout issues.

There's a railscast for it here.



来源:https://stackoverflow.com/questions/24988738/wicketpdf-rendering-table-not-aligned-properly-and-footer-place-at-last-page

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!