Wicked pdf rendering the last row across two pages

我的梦境 提交于 2019-12-03 15:14:30

问题


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.

My options are

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

回答1:


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




回答2:


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.



来源:https://stackoverflow.com/questions/17046385/wicked-pdf-rendering-the-last-row-across-two-pages

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