跳過到頁腳內容
使用IRONPDF

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

在現代企業中,數位文件是分享資訊和進行視覺展示的典型途徑。 然而,有時候資訊可能在單頁上變得過於雜亂,導致資訊過載,使得難以理解哪些內容與主題相關。 因此,一個常見的策略是結構化頁面分隔,使演講者能夠清晰地傳達資訊,同時讓讀者看到文件中明確定義的部分。

儘管頁面分隔在文件中很常見,但手動調整它們是繁瑣且不可擴展的。 在創建數千份文件的公司中,自動添加頁面分隔要更高效和理想。 這允許開發者自訂並應用格式以選擇他們選中的文件。

In this article, we'll discuss adding page breaks using a C# PDF library called IronPDF. IronPDF的直觀性使開發者能夠快速設置多種形式內容的頁面分隔。 我們還將討論使用這個庫及其自訂和靈活性來創建具有頁面分隔的視覺吸引力的文件。

IronPDF:C# PDF 庫

html2pdf在C#中修正的頁面分隔(開發者教程):圖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將用作我們示例的輸入。 這是一個簡單的數據表,數據分散在各自的信息中,使得難以區分內容結束的地方。

html2pdf在C#中修正的頁面分隔(開發者教程):圖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

html2pdf在C#中修正的頁面分隔(開發者教程):圖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節點。

對於想要添加page-break-before樣式的元素,也可以使用類似的操作。

<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變體,開發者在添加頁面分隔方面具有更精細的控制,因為您可以訪問基於承諾的使用和方法,如onRejected承諾方法,用於調試或進度跟蹤及其中間功能。

html2pdf這樣的通用庫相比,它的jsPDF對象的輸出方法,IronPDF更加靈活,支持多種語言,允許不同語言專長的開發者共同開發同一專案。

結論

html2pdf在C#中修正的頁面分隔(開發者教程):圖4

理解如何使用頁面分隔及其如何影響整體HTML是為用戶創建可呈現且視覺吸引力文件的關鍵。 這讓讀者能夠在閱讀時分開信,避免資訊過載和混淆。 在整篇文章中,我們討論了利用IronPDF所使用的強大Chrome渲染引擎自動為模板創建頁面分隔模板和自動化,簡化了在創建這些文檔時的效率和規模化,並減少了人為錯誤的風險。

對於想嘗試IronPDF的開發者,該庫提供了免費試用,以支持更加有效並且可以擴展的開發。

常見問題解答

如何在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;的樣式,以確保影像能夠正確縮放。

能否利用 JavaScript 在 PDF 轉換前自訂 HTML?

是的,IronPDF 支援 JavaScript,使開發人員能夠在將 HTML 內容轉換為 PDF 之前對其進行動態操作。這增強了自訂和呈現效果。

在文件建立過程中自動分頁有哪些優點?

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

我該如何開始使用 C# 函式庫進行 PDF 處理?

若要開始使用 IronPDF,請從其網站取得免費試用版的授權金鑰。將該庫整合到您的 C# 專案中,即可開始處理 PDF 文件。

為什麼掌握分頁技巧對文件簡報很重要?

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

.NET 版本支援:IronPDF 支援哪些 .NET 版本進行 HTML 到 PDF 的轉換以及分頁功能?

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

Curtis Chau
技術作家

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

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