跳過到頁腳內容
使用IRONPDF

html2pdf中的C#頁面中斷修訂(開發者教程)

在現代企業中,電子文檔是共享資訊和進行視覺演示的典型場所。 然而,有時資訊會在一個頁面上變得非常雜亂,導致資訊過載,以至於很難理解哪些內容與主題相關。 因此,常見的策略是設定分頁符,以便演講者能夠清晰地傳達訊息,並讓讀者看到文件中清晰劃分的各個部分。

雖然文件中常會用到分頁符,但手動調整分頁符號既麻煩又不方便擴充。 對於需要建立成千上萬份文件的公司來說,自動添加分頁符號要高效得多,也更理想。 這樣一來,開發人員就可以自訂格式並套用到他們選擇的文件中。

在本文中,我們將討論如何使用名為IronPDF的 C# PDF 庫來新增分頁符號。 IronPDF 的直覺性使開發人員能夠快速地在多種形式的內容上設定分頁符號。 我們還將討論如何使用該程式庫及其自訂功能和靈活性,以建立具有分頁符號的視覺吸引力的文件。

IronPDF:C# PDF 庫

C# 中 html2pdf 分頁符號已修復(開發者教學):圖 1

IronPDF 是一個靈活、易用、高度可自訂的 C# PDF 庫,可讓開發人員、初學者或經驗豐富的開發人員完全操作和編輯 PDF。 它為開發者提供了多種方法,可以將 HTML、RTF 和圖像等不同格式轉換為 PDF,並進一步編輯轉換為 PDF 時的渲染方式。 此外,IronPDF 使用 Chrome 渲染引擎,因此在渲染 HTML 字串方面非常熟練,並且允許開發人員進一步使用CSS 樣式來自訂 HTML 文檔,從而為開發人員在自訂和視覺呈現方面提供其他任何地方都找不到的優勢。

由於該庫使用 Chrome 渲染引擎,因此在渲染 HTML 時所見即所得,這使得它非常適合創建分頁符模板等操作,從而避免模板不匹配的情況。 這完全取決於您在將範本轉換為 PDF 時的設計方式。

在 PDF 中新增分頁符

為了說明該程式庫的靈活性和易用性,我們將使用一個程式碼範例來展示如何以程式設計方式新增分頁符號。

在這種情況下,我們將使用基於表格的 PDF 作為輸入,我們將看到立即添加分頁符號和之後添加分頁符號在視覺清晰度方面的差異。

許可證密鑰

開始之前,請記住 IronPDF 需要許可證密鑰才能運作。 您可以點擊此連結以取得免費試用金鑰。

// Replace the license key variable with the trial key you obtained
IronPdf.License.LicenseKey = "REPLACE-WITH-YOUR-KEY";
// Replace the license key variable with the trial key you obtained
IronPdf.License.LicenseKey = "REPLACE-WITH-YOUR-KEY";
' Replace the license key variable with the trial key you obtained
IronPdf.License.LicenseKey = "REPLACE-WITH-YOUR-KEY"
$vbLabelText   $csharpLabel

收到試用金鑰後,在您的專案中設定此變量,即可完成設定。

輸入PDF

我們將使用以下 PDF 檔案作為範例的輸入。 這是一個簡單的表格,資料分散在不同的區域中,難以區分內容的邊界。

! C# 中 html2pdf 分頁符號已修復(開發者教學):圖 2

程式碼範例用法

using IronPdf; // Import the IronPdf library

// Define the HTML content, including a table and an image
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> <!-- Ensures a page break after the table -->
  <img src='https://ironpdf.com/img/products/ironpdf-logo-text-dotnet.svg'>";

// Create an instance of ChromePdfRenderer
var renderer = new ChromePdfRenderer();

// Render the HTML content into a PDF
var pdf = renderer.RenderHtmlAsPdf(html);

// Save the PDF as "Page_Break.pdf"
pdf.SaveAs("Page_Break.pdf");
using IronPdf; // Import the IronPdf library

// Define the HTML content, including a table and an image
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> <!-- Ensures a page break after the table -->
  <img src='https://ironpdf.com/img/products/ironpdf-logo-text-dotnet.svg'>";

// Create an instance of ChromePdfRenderer
var renderer = new ChromePdfRenderer();

// Render the HTML content into a PDF
var pdf = renderer.RenderHtmlAsPdf(html);

// Save the PDF as "Page_Break.pdf"
pdf.SaveAs("Page_Break.pdf");
Imports IronPdf ' Import the IronPdf library

' Define the HTML content, including a table and an image
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> <!-- Ensures a page break after the table -->
  <img src='https://ironpdf.com/img/products/ironpdf-logo-text-dotnet.svg'>"

' Create an instance of ChromePdfRenderer
Private renderer = New ChromePdfRenderer()

' Render the HTML content into a PDF
Private pdf = renderer.RenderHtmlAsPdf(html)

' Save the PDF as "Page_Break.pdf"
pdf.SaveAs("Page_Break.pdf")
$vbLabelText   $csharpLabel
  1. 我們先導入IronPdf模組。
  2. 上面顯示的 HTML 字串表示要轉換為 PDF 的內容。 這<div style="page-break-after:> always;"> </div>新增標籤是為了確保表格後出現分頁符號。
  3. 然後我們實例化 PDF 渲染器。
  4. 我們將 HTML 字串傳遞給RenderHtmlAsPdf方法。
  5. 最後,將文件另存為Page_Break.pdf

更常見的方法是使用 CSS 進行頁面分隔,而不是使用 HTML 進行內聯樣式設定。

輸出 PDF

! C# 中 html2pdf 分頁符號已修復(開發者教學):圖 3

如您所見,輸出結果在表格之後立即插入了分頁符號。

使用 CSS 控制分頁符

由於 IronPDF 可以使用 CSS 進行自訂(因為它使用 Chrome 渲染引擎),我們可以利用這一點,使用 CSS 向特定元素添加分頁符,並在元素內部添加分頁符,還可以指定哪些元素內部不應該有分頁符。

例如,雖然在上圖中,分頁符號出現在表格之後,但有時由於表格內容雜亂,分頁符號可能會出現在表格內部。

為了避免這種情況,我們可以對節點使用特定的 CSS 樣式,並指定我們不想在節點內新增分頁符號。

<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

新增page-break-inside: avoid可防止元素內部出現分頁符號。 但是,在執行此操作時,請確保將其套用至元素的父 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

由於我們可以使用 HTML,我們可以透過 JavaScript 的document.getElementById ,利用元素的 ID 選擇元素,從而進一步細化 HTML 節點樹,並確保每個節點都是完全可自訂的。

優化影像品質和檔案大小

分頁符號設定也與影像品質密切相關。 您需要確保分頁符號設定不會因縮小或縮放下一頁的影像而影響影像品質。

因此,我們可以使用 CSS 來確保在應用分頁符號時,各個模板中的圖像品質保持一致。

<div class="no-break">
    <img src="optimized-image.jpg" alt="Optimized Image" style="width:100%; height:auto;">
</div>
<div class="no-break">
    <img src="optimized-image.jpg" alt="Optimized Image" style="width:100%; height:auto;">
</div>
HTML

上面的 CSS 樣式確保在頁面分頁操作後圖片保持一致。 我們首先將寬度設定為頁面的 100%,高度可以自動縮放以保持寬高比。

此外,IronPDF 在處理 HTML 時還提供額外的渲染選項,類似於使用者為可下載列印的 PDF 提示設定的列印選項。有關屬性的完整列表,請參閱API 文件

使用 JavaScript 的對應部分

由於IronPDF具有使用 Chrome 渲染引擎的優勢,因此它還提供了一個 Node.js 版本,讓不同背景的開發人員都能使用這個強大的函式庫。

使用 Node.js 版本,開發人員可以更精細地控制添加分頁符,因為您可以存取基於 Promise 的用法和方法,例如用於偵錯或進度追蹤的onRejected Promise 方法及其中間函數。

html2pdf等常用函式庫及其jsPDF 物件的輸出方法相比,IronPDF 更加靈活,支援多種語言,允許具有不同語言專長的開發人員在同一個專案上工作。

結論

! C# 中 html2pdf 分頁符號已修復(開發者教學):圖 4

了解如何使用分頁符號以及 CSS 如何影響整個 HTML,對於建立美觀且對使用者有吸引力的文件至關重要。 它允許讀者對正在閱讀的資訊進行分類,以避免資訊過載和混亂。 在本文中,我們討論如何利用 IronPDF 強大的 Chrome 渲染引擎自動建立分頁模板,從而提高模板和自動化的效率和可擴展性,並降低人為錯誤的風險。

對於想要試用 IronPDF 的開發者,該庫提供$799及以上級別的免費試用版

常見問題解答

如何在 C# 中為 PDF 加入分頁符號?

您可以使用 IronPDF 的 CSS 在 PDF 中添加分頁符。使用類似 page-break-after: always; 的樣式來控制 HTML 轉換為 PDF 時的分頁符位置。

CSS 在使用 C# 生成 PDF 的過程中扮演什麼角色?

使用 IronPDF 從 HTML 生成 PDF 時,CSS 對於控制佈局和外觀至關重要。它允許開發人員管理分頁符,並確保整個文件的格式一致。

Chrome 渲染引擎對 HTML 至 PDF 的轉換有什麼好處?

IronPDF 使用 Chrome 渲染引擎,以確保 PDF 輸出與 HTML 輸入緊密匹配。這種一致性對於在轉換過程中保持預期的設計和佈局非常重要。

在 PDF 中手動插入分頁符有哪些挑戰?

手動插入分頁符既低效又容易出錯,尤其是大型文件。IronPDF 可將此流程自動化,讓開發人員專注於內容而非格式問題。

如何在有分頁符的 PDF 中確保高影像品質?

要保持 PDF 中的圖像品質,請使用 CSS 來正確設定圖像尺寸。使用 IronPdf,您可以套用類似 width: 100%;height: auto; 的樣式,以確保圖像的比例正確。

在 PDF 轉換之前,是否可以利用 JavaScript 自訂 HTML?

是的,IronPDF 支持 JavaScript,使开发人员能够在将 HTML 内容转换为 PDF 之前对其进行动态操作。這可增強自訂性和呈現效果。

在文件製作中自動分頁的優點是什麼?

使用 IronPDF 自動分頁可提高效率並減少錯誤,讓企業環境中的文件呈現一致且專業。

如何開始使用 C# 函式庫進行 PDF 操作?

要開始使用 IronPDF,請透過其網站上的免費試用版取得授權金鑰。將此函式庫整合至您的 C# 專案,即可開始操作 PDF 文件。

為什麼掌握分頁技巧在文件呈現中很重要?

掌握分頁技巧可確保文件結構良好且易於閱讀,有助於避免資訊過載,並提升整體呈現的品質。

.NET 版本支援:IronPDF 的 HTML-to-PDF 轉換和分頁功能支援哪些 .NET 版本?

IronPDF 支援所有現代 .NET 版本的 HTML 至 PDF 轉換和 CSS 分頁功能,包括 .NET 10、.NET 9、.NET 8、.NET 7、.NET 6、.NET Core 和 .NET Framework。它在這些版本中使用相同的渲染引擎 API,以確保一致的行為。

Curtis Chau
技術作家

Curtis Chau 擁有卡爾頓大學計算機科學學士學位,專注於前端開發,擅長於 Node.js、TypeScript、JavaScript 和 React。Curtis 熱衷於創建直觀且美觀的用戶界面,喜歡使用現代框架並打造結構良好、視覺吸引人的手冊。

除了開發之外,Curtis 對物聯網 (IoT) 有著濃厚的興趣,探索將硬體和軟體結合的創新方式。在閒暇時間,他喜愛遊戲並構建 Discord 機器人,結合科技與創意的樂趣。