HTML to PDF - page break with PdfSharp and HtmlRenderer

后端 未结 4 649
清酒与你
清酒与你 2020-12-28 17:16

I try to convert HTML to PDF using PdfSharp and HtmlRenderer. This is part of code:

private byte[] CreateHtmlContent()
{
    string htmlContent = File.ReadAl         


        
相关标签:
4条回答
  • 2020-12-28 18:00

    You can use the prerelase version in Nuget (1.5.1-beta1) and then:

    td { page-break-inside: avoid; }

    0 讨论(0)
  • 2020-12-28 18:05

    I had a similar challenge and resolved it as I found this pull request on github: https://github.com/ArthurHub/HTML-Renderer/pull/41

    You can set the custom-css-property

    td { page-break-inside: avoid; }
    

    on all elements or selectors you want (td, p, .my-class, etc.) to control the page breaking.

    You can use the value "auto" if you want the library to control your page breaking on certain elements

    td { page-break-inside: auto; }
    

    There is also a example for page breaking in running text.

    0 讨论(0)
  • 2020-12-28 18:08

    This is also resolved by adding an appropriate DIV tag if you're not using tables.

    foreach (DataRow row in group)
                {
                    HTMLoutput += "<div style=\"page-break-inside: avoid\"> ";
                    HTMLoutput += "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.";
                    HTMLoutput += "</div>";
                }
    
    0 讨论(0)
  • 2020-12-28 18:13

    This is a little late, but I ran into the same issue. The problem is the margin set on the GeneratePdf call. Remove it and it's fine.

        PdfDocument pdf = PdfGenerator.GeneratePdf(htmlContent, PdfSharp.PageSize.A4);
    
    0 讨论(0)
提交回复
热议问题