IRONSOFTWAREHOME
使用IRONPDF

C# 14 PDF 生成器--综合指南(2025 年版)

Curtis Chau
Curtis Chau
Updated: 2026年4月21日

"便携式文档格式(PDF)"是一种由Adobe创建的文件格式。 在需要格式化文本和照片时,PDF在展示论文时非常方便。 在当今世界,PDF文件非常重要,并在所有企业领域用于文档创建和开具发票。 由于市场上现有的多个PDF库,创建PDF几乎变得本能。在为您的项目使用PDF库之前,选择合适的PDF库至关重要,您需要权衡每个库的优点和特点。

在本文中,我们将看到如何使用iText C#在PDF中添加页码。 此外,我们将比较iText与IronPDF。

如何使用iText C#在PDF中添加页码

  1. 使用任何IDE创建一个新的C#项目。
  2. 创建一个新的PDF对象。
  3. 将页码添加到HTML页脚。
  4. 从HTML素材创建PDF。
  5. 将PDF文件保存到您的计算机。

什么是IronPDF

IronPDF是一个强大的PDF .NET框架,开发人员可以轻松地使用它生成、查看和编辑PDF。 IronPDF是一个复杂的工具,内部运行于一个Chromium引擎。 它可以将HTML5、JavaScript、CSS和图片文件转换为PDF,添加自定义页眉和页脚,并生成与浏览器中显示相同的PDF。 IronPDF支持许多在线和网络格式,包括HTML、ASPX、Razor View和MVC。

IronPDF 功能

  • 使用.NET C#代码创建、读取和简单编辑PDF文件。
  • 从网站URL链接创建PDF的过程,同时管理用户代理、代理、Cookies、HTTP头和表单变量,以使用HTML登录表单启用登录。
  • 从现有PDF文件中移除图像。
  • 包括PDF的元素:表格、文本、照片、书签、水印、页眉、页脚等。
  • 能够轻松分离和合并多个PDF文档的页面。

要了解有关IronPDF文档的更多信息,请参考这里。

安装 IronPDF

在Visual Studio工具中,选择NuGet包管理器,您可以在工具下找到可视命令行界面。 应在包管理终端选项卡中输入以下命令。

PM > Install-Package IronPdf

或者我们可以使用包管理器方法。 可以通过Visual Studio的NuGet包管理器选项将包直接安装到解决方案中。 NuGet网站上有一个搜索框可以定位包。我们只需在包管理器中查找"IronPDF",如下截图所示:

如何在 C# 中使用 iText 在 PDF 中添加页码:图 1 - 从包管理器安装 IronPDF

上面显示了相关搜索结果的列表。 为了在您的系统上安装包,请做出必要的选择。

现在包已下载并安装,可以在当前项目中使用。

什么是iText

iText是一个用于在C#中生成和修改PDF文档的灵活库。 它提供了几种功能,如加密、PDF合并、文本和图片提取等等。 iText是一个高效的工具,可用于多项任务,包括向PDF添加页码。

iText功能特性

  • iText库提供了一个用于生成PDF文档的API。
  • iText程序可将HTML和XML字符串解析为PDF文件。
  • 我们可以使用iText库为PDF文档添加书签、页码和标记。
  • 我们还可以使用iText库将一个PDF文档拆分为多个PDF,或将多个PDF文档合并为一个PDF。
  • 我们可以使用iText修改PDF表单。

安装iText

使用NuGet包管理器查找iText。 由于iText功能分布在多个包中,因此需要安装iText和iText.pdfhtml。

如果选择Visual命令行界面,需要安装以下包:

PM > Install-Package iTextSharp

由于iText是最新版本,因此我们在解决方案中使用它。

使用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");
    }
}

首先,我们定义需要转换为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# 中使用 iText 在 PDF 中添加页码:图 2 - IronPDF:带有页码的输出 PDF

要了解有关IronPDF代码的更多信息,请参考这里。

使用iText添加页码

首先,让我们使用iText生成一个新的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);
        }
    }
}

首先,我们为 Document 和 PdfWriter 创建一个新对象,这使我们能够创建一个空的 PDF 文件。您可以在 PDF 文档中包含文本、照片、表格和其他类型的材料。 让我们使用 Paragraph 来添加一些示例文本以用于演示。 现在,重要的一步是为PDF文档添加页码。 我们将使用iText的页面事件来做到这一点。 我们首先定义一个继承自 PdfPageEventHelper 类的类,以便能够重写在 PDF 生成过程中发生特定事件时调用的方法。

在此类中重写了 OnEndPage 函数,以添加一个包含当前页码的单元格的表格。 最后,在关闭文档之前,我们需要将 PageNumberEventHandler 类的一个实例连接到 PdfWriter 对象。 通过此配置,每次向 PDF 文档添加新页面时,将调用 PageNumberEventHandler 类的 OnEndPage 函数,在每一页的底部添加页码。 我们还可以使用现有的PDF文档来添加页码。

如何在 C# 中使用 iText 在 PDF 中添加页码:图 3 - iText:带有页码的输出 PDF

结论

总结一下,IronPDF的专业性、可用性和无缝集成到.NET环境中的能力,使其成为需要HTML到PDF转换和相关功能场景中的最佳选择,尽管iText仍是C# PDF操作库中的强大竞争者。 使用IronPDF,您可以轻松、有效和灵活地从HTML内容创建发票、报告和动态生成的文档,以在现代开发环境中取得成功。

IronPDF 的 Lite 版本包括永久许可证、升级选项和一年的软件维护。 带水印的试用期允许用户在实际设置中评估产品。 访问许可证页面以获取更多详细信息。 访问此网站以了解更多关于Iron Software的信息。

Curtis Chau
技术作家

Curtis Chau 拥有卡尔顿大学的计算机科学学士学位,专注于前端开发,精通 Node.js、TypeScript、JavaScript 和 React。他热衷于打造直观且美观的用户界面,喜欢使用现代框架并创建结构良好、视觉吸引力强的手册。

...
阅读更多

相关文章

Key in blue circle

立即获取免费的 30 天试用版密钥。

Your trial license will be sent to your email address

无任何限制。100% 解锁。无需信用卡。

OR
bullet_checked无需信用卡或创建账户无任何限制。100% 解锁。无需信用卡。
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried Iron Suite
预约您的免费现场演示
Booking Badge

深受全球数百万工程师信赖

Iron Software 的客户徽标
获取您的无义务咨询
填写下面的表格或通过sales@ironsoftware.com
您的资料将始终保密。
深受全球数百万工程师信赖
Iron Software 的客户徽标
立即获取您的免费30 天试用密钥。
无需信用卡或创建账户
C# 用于 PDF 的 NuGet 库
通过 NuGet 安装

版本: 2026.9

PM > Install-Package IronPdf
nuget.org/packages/IronPdf/
  1. 在解决方案资源管理器中,右键点击引用,管理 NuGet 包
  2. 选择浏览并搜索 “IronPDF”
  3. 选择包并安装
C# PDF DLL
下载 DLL

版本: 2026.9

或在此处下载 Windows 安装程序。

  1. 下载并解压 IronPDF 到您的解决方案目录中的 ~/Libs 之类的位置
  2. 在 Visual Studio 解决方案资源管理器中,右键点击引用。选择浏览,“IronPDF.dll”

$999 起