【问题标题】:Page Break with DinkToPDF使用 DinkToPDF 进行分页
【发布时间】:2019-08-11 08:08:45
【问题描述】:

我正在使用DinkToPDFNuGet,我想在第一页之后添加一个新的分页符。这可能吗?我知道这必须在 HTML 中完成,但是提供带有 100% height 的元素并没有达到预期的效果。

【问题讨论】:

    标签: html pdf-generation nuget-package dinktopdf


    【解决方案1】:

    虽然它并不完美,但使用以下设置:

    var globalSettings = new GlobalSettings
    {
        ColorMode = ColorMode.Color,
        Orientation = Orientation.Portrait,
        PaperSize = PaperKind.A4,
        Margins = new MarginSettings { Top = 10 },
        DocumentTitle = "PDF Report"
    };
    
    var objectSettings = new ObjectSettings
    {
        PagesCount = true,
        HtmlContent = html.ToString(),
        //Page = "https://code-maze.com/", USE THIS PROPERTY TO GENERATE PDF CONTENT FROM AN HTML PAGE
        WebSettings = { DefaultEncoding = "utf-8" }, //, UserStyleSheet = Path.Combine(Directory.GetCurrentDirectory(), "assets", "styles.css") },
        HeaderSettings = { FontName = "Arial", FontSize = 9, Right = "Page [page] of [toPage]", Line = true },
        FooterSettings = { FontName = "Arial", FontSize = 9, Line = true, Center = "Report Footer" }
    };
    

    我可以使用带有一系列DIVs 设置的 HTML 文件,以使它们分别适应 1 个页面大小:

    <div style="height: 1308px; overflow:hidden;">
    

    【讨论】:

    【解决方案2】:

    我正在使用https://github.com/rdvojmoc/DinkToPdf NuGet; 我们可以使用 CSS 样式控制分页

    table {
     page-break-inside: auto
    }
    
    tr {
     /*page-break-inside: avoid;*/
     page-break-after: always;
     display: table-row-group;
    }
    
    thead {
     display: table-header-group;
    }
    
    tfoot {
      display: table-footer-group;
      display: table-row-group;
     }
    

    【讨论】:

      猜你喜欢
      • 2019-08-20
      • 1970-01-01
      • 2014-09-01
      • 2017-08-16
      • 2016-11-20
      • 2013-04-14
      • 2015-05-15
      • 2010-09-19
      • 2018-08-08
      相关资源
      最近更新 更多