diegomura / react-pdf

📄 Create PDF files using React
https://react-pdf.org
MIT License
14.22k stars 1.11k forks source link

remaining margin/padding bottom should be removed on new page #2724

Open Leviathan91 opened 3 weeks ago

Leviathan91 commented 3 weeks ago

Is your feature request related to a problem? Please describe. I have a document that creates component with dynamic content. These components can span across multiple pages. The logic I want: If a component starts on a new page, it should start on top of it. If there already is a component on a page, the next component should be rendered on the same page, but only if there is enough space (60px padding - margin broke the layout but thats already an open bug here) to do so.

Describe the solution you'd like the Page or View component should have a prop like "cleanBreak". If that is true, when the pdf calculates a page break for the Page/View and that page break results because of margin/padding at last element, that margin element should not be continued on the next page. Therefore it is always a "clean" break

Describe alternatives you've considered I tried just adding paddingBottom, but that resulted in sometimes new pages not starting at the top. And since I sometimes need 2 components on the same page, I cant have each in an individual Page either.

This would work if I use margin instead of padding, but margin leads a different bug, that the size for view components containing text is calculated wrong, see example here image