在 HTML PDF 中添加或避免分页符

This article was translated from English: Does it need improvement?
Translated
View the article in English

IronPDF 支持在 PDF 文档中添加分页符。PDF 文档与 HTML 文档的一个主要区别是,HTML 文档往往是滚动的,而 PDF 文档是多页的,可以打印。


适用于PDF的C# NuGet库

安装使用 NuGet

Install-Package IronPdf
Java PDF JAR

下载 DLL

下载DLL

手动安装到你的项目中

适用于PDF的C# NuGet库

安装使用 NuGet

Install-Package IronPdf
Java PDF JAR

下载 DLL

下载DLL

手动安装到你的项目中

开始在您的项目中使用IronPDF,并立即获取免费试用。

第一步:
green arrow pointer

查看 IronPDFNuget 用于快速安装和部署。它有超过800万次下载,正在使用C#改变PDF。

适用于PDF的C# NuGet库 nuget.org/packages/IronPdf/
Install-Package IronPdf

考虑安装 IronPDF DLL 直接。下载并手动安装到您的项目或GAC表单中: IronPdf.zip

手动安装到你的项目中

下载DLL

添加分页符

要在 HTML 中创建分页符,可在 HTML 代码中使用此方法:

<div style='page-break-after: always;'> </div>

创建分页符演示

在这个示例中,我的 HTML 中包含以下表格和图片,我希望在表格后添加分页符,将它们分别放在两个页面上。

表格

公司产品
铁软件IronPDF
铁软件IronOCR

图像

:path=/static-assets/pdf/content-code-examples/how-to/html-to-pdf-page-breaks-page-break.cs
using IronPdf;

const string html = @"
  <table style='border: 1px solid #000000'>
    <tr>
      <th>Company</th>
      <th>Product</th>
    </tr>
    <tr>
      <td>Iron Software</td>
      <td>IronPDF</td>
    </tr>
    <tr>
      <td>Iron Software</td>
      <td>IronOCR</td>
    </tr>
  </table>

  <div style='page-break-after: always;'> </div>

  <img src='https://ironpdf.com/img/products/ironpdf-logo-text-dotnet.svg'>";

var renderer = new ChromePdfRenderer();

var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs("Page_Break.pdf");
Imports IronPdf

Private Const html As String = "
  <table style='border: 1px solid #000000'>
    <tr>
      <th>Company</th>
      <th>Product</th>
    </tr>
    <tr>
      <td>Iron Software</td>
      <td>IronPDF</td>
    </tr>
    <tr>
      <td>Iron Software</td>
      <td>IronOCR</td>
    </tr>
  </table>

  <div style='page-break-after: always;'> </div>

  <img src='https://ironpdf.com/img/products/ironpdf-logo-text-dotnet.svg'>"

Private renderer = New ChromePdfRenderer()

Private pdf = renderer.RenderHtmlAsPdf(html)
pdf.SaveAs("Page_Break.pdf")
VB   C#

上面的代码将生成下面的 PDF 文件,它有两页,第一页是表格,第二页是图像:

避免图像中的分页符

要避免在图像或表格中出现分页符,可以使用应用于包裹 DIV 元素的 css page-break-inside 属性。

<div style='page-break-inside: avoid'>.
 <img src='no-break-me.png'>
</div>
<div style='page-break-inside: avoid'>.
 <img src='no-break-me.png'>
</div>
HTML

避免表格中的分页符

如上所示,使用 CSS 可以避免表格中出现分页符:

page-break-inside: avoid`。该样式最好应用于包装 DIV,而不是表格本身,以确保样式应用于级别的 html 节点。

如果要在跨越多个 pdf 页面的大型 HTML 表格的每一页上复制表格的页眉和页脚,您可以使用一个 <thead>表内的组:

<thead>
    <tr>
        <th>C Sharp</th><th>VB</th>
    </tr>
</thead>
<thead>
    <tr>
        <th>C Sharp</th><th>VB</th>
    </tr>
</thead>
HTML

CSS3 高级设置

为了提供更强的控制能力,除了使用 thead 组外,您可能还希望使用 CSS3:


<style type="text/css">
    table { page-break-inside:auto }
    tr    { page-break-inside:avoid; page-break-after:auto }
    thead { display:table-header-group }
    tfoot { display:table-footer-group }
</style>

<style type="text/css">
    table { page-break-inside:auto }
    tr    { page-break-inside:avoid; page-break-after:auto }
    thead { display:table-header-group }
    tfoot { display:table-footer-group }
</style>
HTML