首页 > 解决方案 > Wkhtmltopdf.NetCore 中的分页符

问题描述

我需要通过ASP.NET CORE中的 WEB API 生成带有表格的 PDF 。我目前有一个以字符串形式接收 HTML 的方法,并使用Wkhtmltopdf.NetCore中的 GetPDF 方法,生成 PDF,然后以字节为单位返回。

public IActionResult Html2Byte([FromBody] string html)
{
    var data = generatePdf.GetPDF(html);
    return Ok(data);
}

问题是我需要在表格之间的 HTML 中手动设置分页符,以将它们拆分为 PDF 中的不同部分。

我尝试使用标签<br>和通过 CSS 添加以下类,使用@media print和不使用它:

@media print {
    .keep-together-page {
        page-break-inside: avoid;
    }

    .break-before-page {
        page-break-before: always;
    }

    .break-after-page {
        page-break-after: always;
    }
}

但是,无论我如何添加 CSS,无论是通过类还是直接在样式属性中,它仍然无法识别分页符。我能够重现的最接近的方法是为 div 添加高度,但这并不理想,因为表中的行数可能会有所不同。

有什么办法可以让它识别分页符吗?欢迎任何帮助

标签: c#cssasp.net-corepdfwkhtmltopdf

解决方案


尝试在 HTML 的开头放置一个样式属性,例如 -

<style type="text/css">
    .keep-together-page {
        page-break-inside: avoid;
    }

    .break-before-page {
        page-break-before: always;
    }

    .break-after-page {
        page-break-after: always;
    }
</style>

推荐阅读