Wicked pdf rendering the last row across two pages

2019-03-16 20:50发布

I am using wicked_pdf to generate pdfs. The problem i am facing is that, sometimes it displays the last row in the page across two pages. Is there a way to tell wicked_pdf to render the row in next page if it can't fit the entire row in that page or set a limit on the number of rows in a page?

Below image is an example of my problem.

Below image is an example of my problem

My options are

render :pdf => file_name,
       :layout => "pdf.html",
       :disposition => "attachment"

2条回答
我命由我不由天
2楼-- · 2019-03-16 21:21

I have had this same problem. There is no easy answer. You have to close the entire table and issue the .page-break (I define .page-break {page-break-before:always} in my css) outside the table. Then, start a new table and continue to render from where you were at. It's not easy! I ended up counting rows, and even checking for size of cell content to get to cell rows, and just closing the table and restarting as needed.

Definitely a limitation of the HTML to PDF process.

查看更多
ゆ 、 Hurt°
3楼-- · 2019-03-16 21:28

Since WickedPDF isn't actually creating a table (just rendering one from the html/css) there aren't many options available - you can try using page-break-inside: avoid; in your css, you may also need to manually break down the sizes of the tables so that the effect of avoiding page breaks isn't too severe.

css:

table, tr, td, th, tbody, thead, tfoot {
    page-break-inside: avoid;
}

That should get you started, at least.

Edit: Here is another question on this subject with some further info: How to avoid page break inside table row for wkhtmltopdf

查看更多
登录 后发表回答