如何使用 C# 中的 iTextSharp 在 PDF 中新增頁碼
"便攜式文件格式",或 PDF,是一種由 Adobe 創建的檔案格式。 PDF 在呈現需要一致格式化文字和圖片的文件時非常方便。 在現今世界中,PDF 檔案是不可或缺的,並被所有企業部門用來建立文件和開立發票。 由於目前市場上有多種 PDF 函式庫,建立 PDF 實際上已成為一種本能。為了選擇適合您的 PDF 函式庫,在使用其中一個函式庫進行專案之前,權衡每個函式庫的優點與特性是非常重要的。
本文將介紹如何使用 iTextSharp C# 在 PDF 中加入頁碼。 此外,我們還要比較 iTextSharp 與 IronPDF 。
如何使用 iTextSharp C# 在 PDF 中加入頁碼
1.使用任何 IDE 建立新的 C# 專案。 2.建立新的 PDF 物件。 3.在 HTML 頁尾加入頁數。 4.從 HTML 內容建立 PDF。 5.將 PDF 檔案儲存至您的電腦。
什麼是 IronPDF
IronPDF 是一個強大的 PDF .NET Framework,開發人員使用它可以輕鬆地建立、檢視和編輯 PDF。 IronPDF 是一個精密的工具,內部以 chromium 引擎執行。 它可以將 HTML5、JavaScript、CSS 和影像檔案轉換為 PDF,新增自訂的頁首和頁尾,並精確地產生在瀏覽器中顯示的 PDF。 IronPDF for .NET 支援許多線上和網路格式,包括 HTML、ASPX、Razor View 和 MVC。
IronPDF 功能
- 利用 .NET C# 程式碼來建立、讀取並輕鬆編輯 PDF 檔案。
- 從網站 URL 連結建立 PDF,同時管理 User-Agents、Proxies、Cookies、HTTP 標頭和表單變數,以便使用 HTML 登入表單進行登入。
- 從現有的 PDF 檔案中擷取影像。
- 包括 PDF 中的元素:表格、文字、圖片、書籤、水印、頁首、頁尾等。
- 能夠從多個 PDF 文件中輕鬆分割和合併頁面。
如需瞭解 IronPdf 文件的更多資訊,請參閱 **** 此處。
安裝 IronPDF。
在 Visual Studio Tools 中,選擇 NuGet Package Manager,您可以在 Tools 下找到 Visual Command-Line 介面。 以下指令應輸入套件管理終端標籤。
Install-Package IronPdf
或者我們可以使用套件管理員的方法。 使用 Visual Studio 的 NuGet Package Manager 選項,可以直接將套件安裝到解決方案中。 在 NuGet 網站上有一個搜尋方塊可用來尋找套件。我們只需要在套件管理員中尋找"IronPDF",如下截圖所示:

相關搜尋結果清單顯示於上圖。 若要在您的系統上安裝套件,請進行必要的選擇。
現在套件已經下載並安裝完成,可以在目前的專案中使用。
什麼是 iTextSharp
iTextSharp 是用 C# 製作和修改 PDF 文件的靈活函式庫。 它提供了多種功能,例如加密、PDF 合併、文字與影像擷取等等。 iTextSharp 是一種高效的工具,可執行多種任務,包括在 PDF 中加入頁碼。
iTextSharp 功能
- 可透過 iText 函式庫使用 API 來產生 PDF 文件。
- HTML 和 XML 字串均可使用 iText 程式解析為 PDF 檔案。
- 我們可以使用 iText 函式庫在 PDF 文件中加入書籤、頁碼和標記。
- 我們也可以將一個 PDF 文件分割成幾個 PDF,或使用 iText 函式庫將多個 PDF 文件合併成一個 PDF。
- 我們可以使用 iText 修改 PDF 表單。
安裝 iTextSharp
使用 NuGet 套件管理員搜尋 iText。 iText7 和 iText.pdfhtml 是必要的安裝程式,因為 iText 功能分佈在許多套件中。
如果您選擇 Visual Command-Line 介面,則需要安裝下列套件:
Install-Package iText7
Install-Package itext7.pdfhtmlInstall-Package iText7
Install-Package itext7.pdfhtml由於 iText 7 是最新的版本,因此我們在解決方案中採用了 iText 7。
使用 IronPDF 添加頁碼。
透過 IronPDF 的綜合資料庫,在 PDF 檔案中加入頁碼變得非常簡單。 為了說明這一點,請參閱下面的程式碼:
using IronPdf;
class Program
{
static void Main(string[] args)
{
// Initialize the IronPdf renderer
var renderer = new IronPdf.HtmlToPdf();
// HTML content to convert to PDF
string header = "<h1>Hello Ironpdf!</h1>";
// Render the HTML content to PDF
PdfDocument pdf = renderer.RenderHtmlAsPdf(header);
// Define the footer with page number placeholders
HtmlHeaderFooter htmlFooter = new HtmlHeaderFooter
{
HtmlFragment = "<center><i>{page} of {total-pages}</i></center>"
};
// Add footer to the PDF
pdf.AddHtmlFooters(htmlFooter);
// Save the output PDF file
pdf.SaveAs("output.pdf");
}
}using IronPdf;
class Program
{
static void Main(string[] args)
{
// Initialize the IronPdf renderer
var renderer = new IronPdf.HtmlToPdf();
// HTML content to convert to PDF
string header = "<h1>Hello Ironpdf!</h1>";
// Render the HTML content to PDF
PdfDocument pdf = renderer.RenderHtmlAsPdf(header);
// Define the footer with page number placeholders
HtmlHeaderFooter htmlFooter = new HtmlHeaderFooter
{
HtmlFragment = "<center><i>{page} of {total-pages}</i></center>"
};
// Add footer to the PDF
pdf.AddHtmlFooters(htmlFooter);
// Save the output PDF file
pdf.SaveAs("output.pdf");
}
}說明
1.初始化渲染器:我們建立一個 HtmlToPdf 的實例,它提供 HTML 到 PDF 的轉換功能。 2.定義 HTML 內容:指定需要轉換為 PDF 的 HTML 內容。 3.Render HTML 內容: RenderHtmlAsPdf 函式用來將 HTML 轉換成 PDF 文件。 4.定義頁腳:頁碼在 HTML 頁腳文字中表示為占位符。 5.新增頁腳並儲存 PDF:將頁腳套用至文件,並將其儲存為 PDF 檔案。

要瞭解有關 IronPDF 程式碼的更多資訊,請參閱 這裡。
使用 iTextSharp 新增頁碼。
首先,讓我們使用 iTextSharp 來產生一個新的 PDF 文件。 以下是如何製作有頁碼的新 PDF 文件的基本說明:
using System.IO;
using iTextSharp.text;
using iTextSharp.text.pdf;
namespace ConsoleApp1
{
internal class Program
{
static void Main(string[] args)
{
// Create a new PDF document
Document document = new Document();
PdfWriter writer = PdfWriter.GetInstance(document, new FileStream("output.pdf", FileMode.Create));
// Open the document to add content
document.Open();
document.Add(new Paragraph("Hello, world!"));
// Attach page number event to PDF writer
writer.PageEvent = new PageNumberEventHandler();
// Close the document
document.Close();
}
}
public class PageNumberEventHandler : PdfPageEventHelper
{
public override void OnEndPage(PdfWriter writer, Document document)
{
base.OnEndPage(writer, document);
// Create a table for the page number
PdfPTable table = new PdfPTable(1);
table.TotalWidth = 300f;
table.HorizontalAlignment = Element.ALIGN_CENTER;
// Add page number to the table cell
PdfPCell cell = new PdfPCell(new Phrase($"Page {writer.PageNumber}"));
cell.Border = 0;
table.AddCell(cell);
// Write the table at the bottom of the page
table.WriteSelectedRows(0, -1, 150, document.Bottom, writer.DirectContent);
}
}
}using System.IO;
using iTextSharp.text;
using iTextSharp.text.pdf;
namespace ConsoleApp1
{
internal class Program
{
static void Main(string[] args)
{
// Create a new PDF document
Document document = new Document();
PdfWriter writer = PdfWriter.GetInstance(document, new FileStream("output.pdf", FileMode.Create));
// Open the document to add content
document.Open();
document.Add(new Paragraph("Hello, world!"));
// Attach page number event to PDF writer
writer.PageEvent = new PageNumberEventHandler();
// Close the document
document.Close();
}
}
public class PageNumberEventHandler : PdfPageEventHelper
{
public override void OnEndPage(PdfWriter writer, Document document)
{
base.OnEndPage(writer, document);
// Create a table for the page number
PdfPTable table = new PdfPTable(1);
table.TotalWidth = 300f;
table.HorizontalAlignment = Element.ALIGN_CENTER;
// Add page number to the table cell
PdfPCell cell = new PdfPCell(new Phrase($"Page {writer.PageNumber}"));
cell.Border = 0;
table.AddCell(cell);
// Write the table at the bottom of the page
table.WriteSelectedRows(0, -1, 150, document.Bottom, writer.DirectContent);
}
}
}說明
1.建立 PDF 文件:初始化一個新的 Document 和 PdfWriter 以產生一個空的 PDF 檔案。 2.新增內容:在文件中新增基本內容,例如段落。 3.頁面編號:我們利用 iTextSharp 的事件處理功能加入頁面編號。 我們建立一個繼承自 PdfPageEventHelper 的自訂類別。 4.覆寫 OnEndPage: 在自訂類別中,覆寫 OnEndPage 方法,以在每個頁面的底部加入頁碼。 5.關閉文件:關閉文件,完成文件。

結論
總而言之,IronPDF的專業性、可用性以及與 .NET 環境的無縫整合,使其成為需要將 HTML 轉換為 PDF 以及相關功能場景的最佳選擇,儘管 iTextSharp 仍是 C# PDF 操作函式庫領域中的強大競爭者。 有了 IronPdf,您就可以從 HTML 內容建立發票、報告和動態產生的文件,而且簡單、有效、適應性強,是您在現代開發環境中取得成功的必要條件。
IronPDF 的 Lite License 版本包含永久授權、升級選項以及一年的軟體維護服務。 水印試用期可讓使用者在實際設定中評估產品。 請造訪授權 page 以瞭解更多資訊。 如需 Iron Software 的詳細資訊,請造訪 他們的網站。
常見問題解答
如何使用 C# 中的 iTextSharp 為 PDF 新增頁碼?
要在 C# 中使用 iTextSharp 新增頁碼,您可以建立一個繼承自PdfPageEventHelper自訂類別。重寫OnEndPage方法來插入頁碼,並將此事件附加到PdfWriter實例。
為什麼PDF文件在各個領域都至關重要?
PDF文件能夠保持文字和圖像格式的一致性,這對於企業各部門的文件建立和發票處理至關重要。它們能夠可靠地以專業的方式呈現文件。
使用 IronPDF 進行 PDF 處理有哪些優勢?
IronPDF 提供強大的功能,可在 .NET 環境下建立、檢視和編輯 PDF 檔案。它擅長將 HTML、JavaScript 和圖像轉換為 PDF,並支援自訂頁首、頁尾和浮水印。
IronPDF 能否處理支援 JavaScript 的 HTML 轉 PDF 轉換?
是的,IronPDF 可以將 HTML 內容(包括 JavaScript)轉換為 PDF,同時保持其在 Web 瀏覽器中的佈局和功能。
如何在 C# 專案中安裝 IronPDF?
您可以使用 Visual Studio 中的 NuGet 套件管理器安裝 IronPDF。只需搜尋“IronPDF”並將其添加到您的專案中即可開始使用其功能。
IronPDF提供的試用期有何意義?
IronPDF 的試用期讓開發人員可以透過浮水印的試用版在實際應用中探索其功能和功能,幫助他們在購買授權之前評估其適用性。
iTextSharp 在新增頁碼方面與 IronPDF 相比如何?
雖然 iTextSharp 使用事件處理來新增頁碼,但 IronPDF 提供了一種更直接的方法,使用 HTML 範本來建立頁首和頁腳,使其成為尋求易用性的 .NET 開發人員的理想選擇。
為 C# 專案選擇 PDF 庫時應考慮哪些因素?
考慮一下各個庫提供的功能。例如,IronPDF 專注於 HTML 轉 PDF,並且與 .NET 框架整合良好;而 iTextSharp 則提供強大的加密和文字擷取功能。
iTextSharp 是否相容於 .NET 10 以新增頁碼?還是我應該使用 iText 7?
iTextSharp(5.x 版本)已正式棄用並進入維護模式;它只接收安全性修復,不再提供任何新功能更新。它不直接面向 .NET 10,在較新的 .NET 版本中使用它可能會導致相容性問題。對於新項目或升級到 .NET 10 的項目,強烈建議使用 iText 7(或 iText Core),因為它支援最新的框架,並且相比 iTextSharp 進行了改進。 ([itextpdf.com](https://itextpdf.com/products/itextsharp?utm_source=openai))






