USING IRONPDF How to Add Page Numbers in PDF using C# Curtis Chau 更新:2025年6月22日 下載 IronPDF NuGet 下載 DLL 下載 Windows 安裝程式 開始免費試用 法學碩士副本 法學碩士副本 將頁面複製為 Markdown 格式,用於 LLMs 在 ChatGPT 中打開 請向 ChatGPT 諮詢此頁面 在雙子座打開 請向 Gemini 詢問此頁面 在 Grok 中打開 向 Grok 詢問此頁面 打開困惑 向 Perplexity 詢問有關此頁面的信息 分享 在 Facebook 上分享 分享到 X(Twitter) 在 LinkedIn 上分享 複製連結 電子郵件文章 "便攜式文件格式",或 PDF,是一種由 Adobe 創建的檔案格式。 在展示需要對文字和圖片進行格式化的論文時,PDF 文件非常方便。 在現今世界中,PDF 檔案是不可或缺的,並被所有企業部門用來建立文件和開立發票。 由於目前市場上有多種 PDF 函式庫,建立 PDF 實際上已成為一種本能。為了選擇適合您的 PDF 函式庫,在使用其中一個函式庫進行專案之前,權衡每個函式庫的優點與特性是非常重要的。 本文將介紹如何使用 iTextSharp C# 在 PDF 中加入頁碼。 此外,我們也將比較iTextSharp和IronPDF 。 如何使用 iTextSharp C# 在 PDF 中加入頁碼 1.使用任何 IDE 建立新的 C# 專案。 2.建立新的 PDF 物件。 3.在 HTML 頁尾加入頁數。 從 HTML 內容建立 PDF。 將 PDF 檔案儲存到您的電腦。 什麼是 IronPDF IronPDF是一個強大的 PDF .NET 框架,開發人員可以使用它來輕鬆產生、檢視和編輯 PDF 文件。 IronPDF 是一個精密的工具,內部以 chromium 引擎執行。 它可以將 HTML5、JavaScript、CSS 和圖片檔案轉換為 PDF,新增自訂頁首和頁腳,並產生與瀏覽器中顯示效果完全相同的 PDF 檔案。 IronPDF for .NET 支援許多線上和網路格式,包括 HTML、ASPX、Razor View 和 MVC。 IronPDF 功能 使用 .NET C# 程式碼建立、讀取和簡單編輯 PDF 檔案。 透過網站 URL 連結建立 PDF,同時管理 User-Agent、Proxy、Cookie、HTTP 標頭和表單變量,以啟用使用 HTML 登入表單進行登入。 從現有 PDF 檔案中刪除影像。 包含 PDF 的元素:表格、文字、照片、書籤、浮水印、頁首、頁尾等。 能夠輕鬆地分離和合併多個 PDF 文件的頁面。 要了解有關 IronPDF 文件的更多信息,請參閱此處。 安裝 IronPDF 在 Visual Studio 工具中,選擇 NuGet 套件管理器,即可在"工具"下找到 Visual 命令列介面。 以下指令應輸入套件管理終端標籤。 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 文件添加書籤、頁碼和標記。 我們也可以使用 iText 函式庫將一個 PDF 文件拆分成多個 PDF,或將多個 PDF 文件合併成一個 PDF。 我們可以使用 iText 修改 PDF 表單。 安裝 iTextSharp 使用 NuGet 套件管理器尋找 iText。 iText7 和 iText.pdfhtml 是必要的安裝程式,因為 iText 功能分佈在許多套件中。 如果您選擇 Visual Command-Line 介面,則需要安裝下列套件: Install-Package iTextSharp 由於 iText 7 是最新的版本,因此我們在解決方案中採用了 iText 7。 使用 IronPDF 添加頁碼 透過 IronPDF 的綜合資料庫,在 PDF 檔案中加入頁碼變得非常簡單。 為了便於理解,請參閱以下程式碼。 using IronPdf; class Program { static void Main(string[] args) { // Create a new HtmlToPdf renderer instance var renderer = new HtmlToPdf(); // Define the HTML content with a header string header = "<h1>Hello IronPDF!</h1>"; // Render the HTML as a PDF document PdfDocument pdf = renderer.RenderHtmlAsPdf(header); // Define the HTML footer with page numbers HtmlHeaderFooter htmlFooter = new HtmlHeaderFooter() { HtmlFragment = "<center><i>{page} of {total-pages}</i></center>" }; // Add footer to the PDF pdf.AddHtmlFooters(htmlFooter); // Save the PDF document to a file pdf.SaveAs("output.pdf"); } } using IronPdf; class Program { static void Main(string[] args) { // Create a new HtmlToPdf renderer instance var renderer = new HtmlToPdf(); // Define the HTML content with a header string header = "<h1>Hello IronPDF!</h1>"; // Render the HTML as a PDF document PdfDocument pdf = renderer.RenderHtmlAsPdf(header); // Define the HTML footer with page numbers HtmlHeaderFooter htmlFooter = new HtmlHeaderFooter() { HtmlFragment = "<center><i>{page} of {total-pages}</i></center>" }; // Add footer to the PDF pdf.AddHtmlFooters(htmlFooter); // Save the PDF document to a file pdf.SaveAs("output.pdf"); } } $vbLabelText $csharpLabel 首先,我們定義要轉換為 PDF 的 HTML 文字。 此HTML內容可以包含單一HTML段落或整個HTML頁面。 接下來,我們建立一個HtmlToPdf類別的實例,該類別提供 HTML 到 PDF 的轉換函數RenderHtmlAsPdf 。 HTML 內容作為參數傳遞給RenderHtmlAsPdf函數。 我們指定需要轉換為 PDF 的 HTML 內容。 頁碼以佔位符的形式表示,或如 HTML 文字頁尾部分中的 {page} of {total-pages} 。 此方法會將建立的 PDF 文件作為PdfDocument物件傳回。 使用SaveAs方法,我們將 PDF 文件儲存到名為"output.pdf"的檔案中。 或者,我們可以使用OpenInDefaultPDFViewer函數,以系統的預設 PDF 閱讀器開啟已建立的 PDF 文件。 我們也可以使用上述方法為現有的 PDF 檔案添加頁碼。 如何在 C# 中使用 iTextSharp 在 PDF 中新增頁碼:圖 2 - IronPDF:帶有頁碼的輸出 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 doc = new Document(); PdfWriter writer = PdfWriter.GetInstance(doc, new FileStream("output.pdf", FileMode.Create)); // Open the document to add content doc.Open(); doc.Add(new Paragraph("Hello, world!")); // Attach page number event to PDF writer writer.PageEvent = new PageNumberEventHandler(); // Close the document doc.Close(); } } public class PageNumberEventHandler : PdfPageEventHelper { public override void OnOpenDocument(PdfWriter writer, Document document) { base.OnOpenDocument(writer, document); } public override void OnEndPage(PdfWriter writer, Document document) { base.OnEndPage(writer, document); // Create a table to hold the page number PdfPTable table = new PdfPTable(1); table.TotalWidth = 300f; table.HorizontalAlignment = Element.ALIGN_CENTER; 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, 150f, document.Bottom, writer.DirectContent); } public override void OnCloseDocument(PdfWriter writer, Document document) { base.OnCloseDocument(writer, document); } } } 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 doc = new Document(); PdfWriter writer = PdfWriter.GetInstance(doc, new FileStream("output.pdf", FileMode.Create)); // Open the document to add content doc.Open(); doc.Add(new Paragraph("Hello, world!")); // Attach page number event to PDF writer writer.PageEvent = new PageNumberEventHandler(); // Close the document doc.Close(); } } public class PageNumberEventHandler : PdfPageEventHelper { public override void OnOpenDocument(PdfWriter writer, Document document) { base.OnOpenDocument(writer, document); } public override void OnEndPage(PdfWriter writer, Document document) { base.OnEndPage(writer, document); // Create a table to hold the page number PdfPTable table = new PdfPTable(1); table.TotalWidth = 300f; table.HorizontalAlignment = Element.ALIGN_CENTER; 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, 150f, document.Bottom, writer.DirectContent); } public override void OnCloseDocument(PdfWriter writer, Document document) { base.OnCloseDocument(writer, document); } } } $vbLabelText $csharpLabel 首先,我們為Document和PdfWriter建立一個新的對象,這樣就可以建立一個空白的 PDF 檔案。您可以在 PDF 文件中包含文字、照片、表格和其他類型的內容。 讓我們使用Paragraph來添加一些範例文字以作演示。 現在最重要的步驟是為PDF文件添加頁碼。 我們將使用 iTextSharp 的頁面事件來實現這一點。 我們首先定義一個繼承自PdfPageEventHelper類別的類,以便能夠重寫在 PDF 生成過程中發生特定事件時呼叫的方法。 此類重寫了OnEndPage函數,以新增包含目前頁碼的單一儲存格表格。 最後,在關閉文件之前,我們需要將PageNumberEventHandler類別的一個實例連接到PdfWriter物件。 透過這種配置,每次在 PDF 文件中新增頁面時,都會呼叫PageNumberEventHandler類別的OnEndPage函數,並在每頁底部新增頁碼。 我們也可以使用現有的PDF文件來新增頁碼。 結論 總而言之, IronPDF的專業性、易用性以及與 .NET 環境的無縫集成,使其成為需要 HTML 到 PDF 轉換及相關功能的場景的最佳選擇,儘管 iTextSharp 在 C# PDF 操作庫領域仍然是一個強大的競爭對手。 透過 IronPDF,您可以輕鬆、有效率且靈活地從 HTML 內容建立發票、報告和動態生成的文檔,從而在現代開發環境中取得成功。 IronPDF 的 Lite 版本中包含永久授權、升級選項以及一年的軟體維護服務。 水印試用期可讓使用者在實際設定中評估產品。 請造訪許可證頁面以了解更多詳情。 請造訪此網站以了解更多關於Iron Software的資訊。 常見問題解答 如何使用 C# 在 PDF 中加入頁碼? 您可以使用 IronPDF 在 PDF 中添加頁碼,方法是定義含頁碼占位符的 HTML 內容,並使用 AddHtmlFooters 方法將其套用為 PDF 中的頁尾。 使用 IronPDF 進行 PDF 操作有哪些優點? IronPDF 提供強大的 PDF.NET Framework 功能,支援 HTML5、JavaScript、CSS 以及圖片到 PDF 的轉換,讓您可以輕鬆地使用自訂的頁首和頁尾來處理 PDF。 iTextSharp 與 IronPDF 相比,在添加頁碼方面有何優勢? iTextSharp 使用 PdfPageEventHelper 類來處理頁碼,而 IronPDF 則提供更簡單的方法,允許您定義含頁碼占位符的 HTML 頁腳。 我可以處理現有的 PDF 檔案以加入頁碼嗎? 是的,使用 IronPdf,您可以通過渲染帶有頁碼占位符的 HTML 頁腳,將其與原始文件合併,從而在現有 PDF 文件中添加頁碼。 將 HTML 轉換成 PDF 的首選方法是什麼? IronPDF for .NET 可與 .NET 環境無縫整合,並能處理 HTML5、JavaScript 和 CSS,因此是 HTML 轉換為 PDF 的首選。 在 C# 專案中使用 IronPDF 的安裝步驟是什麼? 您可以使用 Visual Studio 中的 NuGet Package Manager 在 C# 專案中安裝 IronPDF,方法是搜尋「IronPDF」並將其加入專案中。 如何使用 C# 確保我的 PDF 有準確的頁數? 使用 IronPdf,透過定義含頁碼占位符的 HTML 模板,並將其一致地應用於所有 PDF 頁面,以確保您的頁碼正確無誤。 IronPDF 是否有授權選項? IronPDF 提供「Lite」版,包含永久授權、升級選項和一年的軟體維護,以及水印試用期以供評估。 在哪裡可以找到使用 IronPDF 的詳細範例和說明文件? 使用 IronPDF 的全面說明文件和範例可在其官方網站 ironpdf.com 上找到。 IronPDF 是否與 .NET 10 完全相容?我可以在 .NET 10 專案中使用頁面編號功能嗎? 是的,IronPDF 支持 .NET 10,其所有功能(包括通过页眉或页脚中的占位符进行页码编号)在 .NET 10 项目中均可正常工作,无需任何特殊配置或变通方法。 Curtis Chau 立即與工程團隊聊天 技術撰稿人 Curtis Chau 擁有電腦科學學士學位(卡爾頓大學),專長於前端開發,精通 Node.js、TypeScript、JavaScript 和 React。Curtis 對製作直覺且美觀的使用者介面充滿熱情,他喜歡使用現代化的架構,並製作結構良好且視覺上吸引人的手冊。除了開發之外,Curtis 對物聯網 (IoT) 也有濃厚的興趣,他喜歡探索整合硬體與軟體的創新方式。在空閒時間,他喜歡玩遊戲和建立 Discord bots,將他對技術的熱愛與創意結合。 相關文章 更新2026年1月22日 How to Create PDF Documents in .NET with IronPDF: Complete Guide Discover effective methods to create PDF files in C# for developers. Enhance your coding skills and streamline your projects. Read the article now! 閱讀更多 更新2026年1月21日 How to Merge PDF Files in VB.NET: Complete Tutorial Merge PDF VB NET with IronPDF. Learn to combine multiple PDF files into one document using simple VB.NET code. Step-by-step examples included. 閱讀更多 更新2026年1月21日 C# PDFWriter Tutorial: Create PDF Documents in .NET Learn to create PDFs efficiently using C# PDFWriter with this step-by-step guide for developers. Read the article to enhance your skills today! 閱讀更多 How to Extract Data from PDF in C#C# Add Image to PDF (Developer Tutorial)
更新2026年1月22日 How to Create PDF Documents in .NET with IronPDF: Complete Guide Discover effective methods to create PDF files in C# for developers. Enhance your coding skills and streamline your projects. Read the article now! 閱讀更多
更新2026年1月21日 How to Merge PDF Files in VB.NET: Complete Tutorial Merge PDF VB NET with IronPDF. Learn to combine multiple PDF files into one document using simple VB.NET code. Step-by-step examples included. 閱讀更多
更新2026年1月21日 C# PDFWriter Tutorial: Create PDF Documents in .NET Learn to create PDFs efficiently using C# PDFWriter with this step-by-step guide for developers. Read the article to enhance your skills today! 閱讀更多