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

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

IronPDF 支持PDF文档中的分页符。PDF文档與HTML之間的一個主要區別是,HTML文档通常是滾動的,而PDF則是多頁的且可以打印。


C# NuGet 程式庫用于 PDF

安裝與 NuGet

Install-Package IronPdf
Java PDF JAR

下載 DLL

下載DLL

手動安裝到您的項目中

C# NuGet 程式庫用于 PDF

安裝與 NuGet

Install-Package IronPdf
Java PDF JAR

下載 DLL

下載DLL

手動安裝到您的項目中

立即開始在您的專案中使用IronPDF,並享受免費試用。

第一步:
green arrow pointer

查看 IronPDFNuget 快速安裝和部署。已被下載超過800萬次,它正用C#改變PDF。

C# NuGet 程式庫用于 PDF nuget.org/packages/IronPdf/
Install-Package IronPdf

請考慮安裝 IronPDF DLL 直接下載並手動安裝到您的專案或GAC表單: IronPdf.zip

手動安裝到您的項目中

下載DLL

新增分頁符號

在HTML中創建分頁符號,你可以在你的HTML代碼中使用這個:

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

設置分頁符的示範

在這個範例中,我的 HTML 中有下列表格和圖片,我希望通過在表格後面加入一個分頁符,讓它們出現在兩個單獨的頁面上。

表格

公司產品
Iron SoftwareIronPDF
Iron SoftwareIronOCR

圖片

: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,該 PDF 有 2 頁,第一頁是表格,第二頁是圖像:

避免圖片中斷行

要避免圖片或表格內的分頁,可以將 CSS 屬性 page-break-inside 應用於包裹的 DIV 元素。

<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