如何在HTML到PDF页面中处理断页

Add or Avoid Page Breaks in HTML PDFs

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

IronPDF 支持 PDF 文档中的分页符。 PDF 文档和 HTML 的一个主要区别是 HTML 文档通常是滚动的,而 PDF 是多页的,可以打印。

快速开始:在 HTML 到 PDF 转换中实现分页符

使用 IronPDF 可以轻松地在 HTML 转 PDF 时进行分页。 这个例子展示了如何在特定 HTML 内容之后插入分页,以确保正确分页。 通过添加page-break-after: always;样式,开发人员可以控制分页符的位置,从而增强生成的 PDF 文档的可读性和组织性。 非常适合需要从 HTML 内容快速高效生成 PDF 的人。

Nuget IconGet started making PDFs with NuGet now:

  1. Install IronPDF with NuGet Package Manager

    PM > Install-Package IronPdf

  2. Copy and run this code snippet.

    new IronPdf.ChromePdfRenderer()
      .RenderHtmlAsPdf("<html><body><h1>Hello World!</h1><div style='page-break-after: always;'></div></body></html>")
      .SaveAs("pageWithBreaks.pdf");
  3. Deploy to test on your live environment

    Start using IronPDF in your project today with a free trial
    arrow pointer
class="hsg-featured-snippet">

简化流程(5 步)

如何在 HTML PDF 中使用分页符
  1. 下载 C# 库以在 PDF 中使用分页符
  2. 将分页符应用于 HTML 字符串并转换为 PDF
  3. 在 page-break-inside 属性上设置avoid,以避免在图像中分页
  4. 对表格进行相同操作以避免在表格中分页
  5. 在 CSS 级别设置样式


添加分页符

要在 HTML 中创建分页符,可以在 HTML 代码中使用这个:

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

创建分页符的演示

在这个例子中,我在 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>
<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>
HTML

图像

<img src="/static-assets/pdf/how-to/html-to-pdf-page-breaks/ironpdf-logo-text-dotnet.svg" style="border:5px solid #000000; padding:3px; margin:5px" />
<img src="/static-assets/pdf/how-to/html-to-pdf-page-breaks/ironpdf-logo-text-dotnet.svg" style="border:5px solid #000000; padding:3px; margin:5px" />
HTML
: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")
$vbLabelText   $csharpLabel

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

避免图像中的分页符

要避免图像或表格中的分页符,可以在包裹的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

常见问题解答

在将 HTML 转换为 PDF 时如何添加分页符?

要在将 HTML 转换为 PDF 时添加分页符,可以在 HTML 代码中插入 <div style='page-break-after: always;'></div>。这可以确保使用 IronPDF 时,div 后的内容会在新页面上开始。

如何在 PDF 转换中防止图像内的分页符?

要在 PDF 转换中防止图像内的分页符,使用 IronPDF 将图像包裹在一个 <div style='page-break-inside: avoid'> 中。此 CSS 样式确保图像不跨页面拆分。

生成 PDF 时,避免 HTML 表格中的分页符的最佳方法是什么?

要在生成 PDF 时避免 HTML 表格中的分页符,将 CSS page-break-inside: avoid 应用于包裹的 <div> 元素。这可以确保使用 IronPDF 时表格在页面上保持完整。

如何确保 PDF 中的每一页上重复表格标题?

要确保 PDF 中的每一页都重复表格标题,请在 HTML 表格中使用 <thead> 元素。这样可以让 IronPDF 在多页上重复标题。

哪些 CSS 设置可以控制 PDF 文档中的分页符?

控制 PDF 中分页符的高级 CSS 设置包括:对表格使用 page-break-inside: auto,对行使用 page-break-inside: avoid; page-break-after: auto,并为 <thead> 设置 display: table-header-group<tfoot> 设置 display: table-footer-group,这在使用 IronPDF 时有效。

HTML 与 PDF 在页面布局上有何不同?

HTML 文档通常是连续滚动的,而 PDF 是多页文档,需要正确的分页。这可以通过使用 IronPDF 有效管理。

哪些库可以帮助通过 C# 添加 PDF 中的分页符?

IronPDF 是一个 C# 库,可用于在将 HTML 转换为 PDF 时管理分页符。它提供多种设置以有效处理分页符。

IronPDF 的分页 CSS 在 .NET 10 项目中是否完全受支持?

是的——IronPDF 完全兼容 .NET 10,其 HTML 转 PDF 分页功能(例如page-break-after: alwayspage-break-inside: avoid )在 .NET 10 环境中开箱即用。您可以通过 NuGet 在 .NET 10 项目中安装该库,并直接使用相同的基于 CSS 的分页规则,无需任何修改。

Curtis Chau
技术作家

Curtis Chau 拥有卡尔顿大学的计算机科学学士学位,专注于前端开发,精通 Node.js、TypeScript、JavaScript 和 React。他热衷于打造直观且美观的用户界面,喜欢使用现代框架并创建结构良好、视觉吸引力强的手册。

除了开发之外,Curtis 对物联网 (IoT) 有浓厚的兴趣,探索将硬件和软件集成的新方法。在空闲时间,他喜欢玩游戏和构建 Discord 机器人,将他对技术的热爱与创造力相结合。

准备开始了吗?
Nuget 下载 16,154,058 | 版本: 2025.11 刚刚发布