跳至页脚内容
产品比较

QuestPDF添加页码到PDF替代方案对比IronPDF(示例)

可移植文档格式(PDF)是一种普遍使用的文件格式,确保在所有平台和设备上的文档展示保持一致性。 其固定布局使其成为分享论文、合同、发票等文件的首选格式。 在企业界,PDF文件是正式文件不可或缺的一部分。 随着对PDF生成和操作需求的增长,出现了多个库,使开发者的工作过程变得更简单。

在本文中,我们将探讨如何使用QuestPDF在C#中向PDF添加页码,同时将QuestPDF与IronPDF进行比较,以帮助您决定哪个库符合您的项目需求。

什么是 IronPDF?

IronPDF是一个功能丰富的库,专为.NET生态系统构建,旨在高效处理PDF创建、操作和渲染任务。 它利用基于Chromium的引擎,能将HTML、CSS和JavaScript精确转换为PDF文档。 这使其成为需要将HTML内容直接转换为PDF格式的Web开发人员的绝佳选择,同时保留原始布局和样式。

使用 IronPDF,您可以轻松将 PDF 功能集成到 .NET 应用程序中,包括创建自定义页眉和页脚、向 PDF 中添加新页面、嵌入图像和表格,以及执行高级 PDF 操作,如合并或拆分文档。 该库支持各种格式并提供多种自定义选项,使其成为从动态网页内容生成专业级 PDF 的理想选择。

IronPDF 的关键功能:

  • 允许您直接从C#代码生成PDF
  • 将网页、HTML和JavaScript转换为高质量PDF。
  • 提供添加自定义元素的选项,如 页眉、页脚水印
  • 方便合并、拆分和编辑现有的 PDF。
  • 无缝适用于 .NET 应用程序,包括 ASP.NET 和 MVC 框架。

要更深入地了解 IronPDF 的功能和更多高级示例,请参阅官方文档 这里

安装 IronPDF。

要将IronPDF添加到您的项目中,请使用Visual Studio中的NuGet包管理器。 您可以使用可视化命令行界面或直接在 NuGet 包管理器中搜索。

命令行安装:

Install-Package IronPdf

或者,可以在 NuGet 包管理器中搜索 "IronPDF" 并安装。

QuestPDF 将页码添加到 PDF 替代品与 IronPDF (示例):图 2

什么是 QuestPDF?

QuestPDF 是一个现代 .NET 库,专为 PDF 文档生成而设计。 它专注于为开发人员提供一个灵活高效的工具,从 C# 创建 PDF。 QuestPDF 允许使用声明式风格的直观和流畅的方法来设计文档。

QuestPDF 强调简单性、速度和性能,是生成动态报告和文档的绝佳选择。 该库还支持高级布局功能、自定义样式和易于使用的模板。

QuestPDF 的功能

  • 易于使用的 API 用于构建复杂的 PDF 文档。
  • 支持灵活的布局和文档结构,可设置默认页面、列项等。
  • 允许使用类似 CSS 的属性轻松给元素加样式。
  • 支持图像、默认文本样式设置、表格、条形码、图表、列、行、多种页面类型等。
  • 非常适合创建报告、发票和数据驱动的文档。

有关更多详细信息,请参阅 QuestPDF 文档

安装 QuestPDF

要开始使用 QuestPDF,请通过 NuGet 命令行安装它:

Install-Package QuestPDF

或者通过 NuGet 包管理器:

QuestPDF 将页码添加到 PDF 替代品与 IronPDF (示例):图 3

这将为您的项目添加生成 PDF 所需的库,使用 QuestPDF。

使用IronPDF添加页码

IronPDF 提供了一种简单的方法,可以为 PDF 添加 页码。 以下代码演示了如何做到这一点:

using IronPdf;

class Program
{
    static void Main(string[] args)
    {
        // HTML content for the PDF
        var html = "<h1>Hello World!</h1><p>This document was generated using IronPDF</p>";

        // Set up the IronPDF renderer with header for page numbers
        ChromePdfRenderer renderer = new ChromePdfRenderer
        {
            RenderingOptions = 
            {
                HtmlHeader = new HtmlHeaderFooter
                {
                    HtmlFragment = "<center><i>{page} of {total-pages}</i></center>"
                }
            }
        };

        // Render the HTML as a PDF
        PdfDocument pdf = renderer.RenderHtmlAsPdf(html);

        // Save the PDF to a file
        pdf.SaveAs("pageNumbers.pdf");
    }
}
using IronPdf;

class Program
{
    static void Main(string[] args)
    {
        // HTML content for the PDF
        var html = "<h1>Hello World!</h1><p>This document was generated using IronPDF</p>";

        // Set up the IronPDF renderer with header for page numbers
        ChromePdfRenderer renderer = new ChromePdfRenderer
        {
            RenderingOptions = 
            {
                HtmlHeader = new HtmlHeaderFooter
                {
                    HtmlFragment = "<center><i>{page} of {total-pages}</i></center>"
                }
            }
        };

        // Render the HTML as a PDF
        PdfDocument pdf = renderer.RenderHtmlAsPdf(html);

        // Save the PDF to a file
        pdf.SaveAs("pageNumbers.pdf");
    }
}
Imports IronPdf

Friend Class Program
	Shared Sub Main(ByVal args() As String)
		' HTML content for the PDF
		Dim html = "<h1>Hello World!</h1><p>This document was generated using IronPDF</p>"

		' Set up the IronPDF renderer with header for page numbers
		Dim renderer As New ChromePdfRenderer With {
			.RenderingOptions = {
				HtmlHeader = New HtmlHeaderFooter With {.HtmlFragment = "<center><i>{page} of {total-pages}</i></center>"}
			}
		}

		' Render the HTML as a PDF
		Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf(html)

		' Save the PDF to a file
		pdf.SaveAs("pageNumbers.pdf")
	End Sub
End Class
$vbLabelText   $csharpLabel

输出

QuestPDF 将页码添加到 PDF 替代品与 IronPDF (示例):图 4

在此代码中,我们为 PDF 文档创建了一个 HTML 页眉,其中 {page}{total-pages} 代表当前页码和总页数的动态占位符。 方法 RenderHtmlAsPdf 将 HTML 转换为 PDF。 此功能允许页面根据文档长度动态调整。

如何使用 QuestPDF 添加页码

在 QuestPDF 中,添加页码可以以类似的方式进行。 以下是使用 QuestPDF 添加页码的代码:

using QuestPDF.Fluent;
using QuestPDF.Infrastructure;

class Program
{
    static void Main(string[] args)
    {
        // Set the license type for QuestPDF
        QuestPDF.Settings.License = LicenseType.Community;

        // Create a PDF document using the QuestPDF fluent API
        var document = Document.Create(container =>
        {
            // Define a page with content and a header with page numbers
            container.Page(page =>
            {
                page.Content().Text("Hello, QuestPDF!");

                // Add a centered header with page number and total pages
                page.Header().AlignCenter().Text(text =>
                {
                    text.Span("Page ");
                    text.CurrentPageNumber();
                    text.Span(" of ");
                    text.TotalPages();
                });
            });
        });

        // Generate and save the PDF document
        document.GeneratePdf("QuestPdfOutput.pdf");
    }
}
using QuestPDF.Fluent;
using QuestPDF.Infrastructure;

class Program
{
    static void Main(string[] args)
    {
        // Set the license type for QuestPDF
        QuestPDF.Settings.License = LicenseType.Community;

        // Create a PDF document using the QuestPDF fluent API
        var document = Document.Create(container =>
        {
            // Define a page with content and a header with page numbers
            container.Page(page =>
            {
                page.Content().Text("Hello, QuestPDF!");

                // Add a centered header with page number and total pages
                page.Header().AlignCenter().Text(text =>
                {
                    text.Span("Page ");
                    text.CurrentPageNumber();
                    text.Span(" of ");
                    text.TotalPages();
                });
            });
        });

        // Generate and save the PDF document
        document.GeneratePdf("QuestPdfOutput.pdf");
    }
}
Imports QuestPDF.Fluent
Imports QuestPDF.Infrastructure

Friend Class Program
	Shared Sub Main(ByVal args() As String)
		' Set the license type for QuestPDF
		QuestPDF.Settings.License = LicenseType.Community

		' Create a PDF document using the QuestPDF fluent API
		Dim document = Document.Create(Sub(container)
			' Define a page with content and a header with page numbers
			container.Page(Sub(page)
				page.Content().Text("Hello, QuestPDF!")

				' Add a centered header with page number and total pages
				page.Header().AlignCenter().Text(Sub(text)
					text.Span("Page ")
					text.CurrentPageNumber()
					text.Span(" of ")
					text.TotalPages()
				End Sub)
			End Sub)
		End Sub)

		' Generate and save the PDF document
		document.GeneratePdf("QuestPdfOutput.pdf")
	End Sub
End Class
$vbLabelText   $csharpLabel

QuestPDF 将页码添加到 PDF 替代品与 IronPDF (示例):图 5

此 QuestPDF 代码定义了一个带有页头页码的简单文档。 方法 CurrentPageNumber()TotalPages() 用于动态生成相对于每一页的页码。

结论

QuestPDF 将页码添加到 PDF 替代品与 IronPDF (示例):图 6

总之,IronPDF 和 QuestPDF 都提供了有效的解决方案,用于在 C# 中为 PDF 添加页码。 然而,IronPDF 提供了一种更简化和用户友好的方法。 其灵活性和易用性使其成为需要以最小努力添加页码或操作现有 PDF 的开发人员的理想选择。

IronPDF 可以免费用于开发,允许开发人员在开发阶段免费进行实验和集成。 一旦你准备好投入生产,商业授权可用于这些授权选项。

通过选择 IronPDF,开发者可以获得一个可靠且功能丰富的工具,该工具简化了 PDF 的创建和编辑,包括插入页码,并具有持续维护和更新的附加优势。

有关 IronPDF 免费版和商业许可的更多信息,请访问 IronPDF 官方网站

请注意QuestPDF 是其各自所有者的注册商标。 本网站与QuestPDF无关,也未得到其认可或赞助。 所有产品名称、徽标和品牌均为各自所有者的财产。 比较仅供参考,反映的是撰写时的公开信息。

常见问题解答

我如何使用C#向PDF文档添加页码?

您可以通过创建包含{page}{total-pages}等占位符的HTML页眉或页脚来使用IronPDF向PDF添加页码。这样,在使用RenderHtmlAsPdf方法时,这些占位符会动态更新,以展示当前页面和总页数的信息。

IronPDF和QuestPDF在PDF操作方面的主要区别是什么?

IronPDF功能丰富,利用基于Chromium的引擎,适合需要精确布局控制的Web开发人员。它支持将HTML、CSS和JavaScript转换为PDF。QuestPDF提供现代声明式API,专注于简化和性能,适用于布局灵活的动态报告。

我如何在.NET项目中安装PDF库?

要在.NET项目中安装像IronPDF这样的PDF库,请在Visual Studio中使用NuGet包管理器。您可以使用命令行安装Install-Package IronPdf,也可以在NuGet包管理器界面中找到它。

IronPDF为Web开发人员提供了哪些优势?

IronPDF对Web开发人员有利,因为它可以将HTML、CSS和JavaScript转换为PDF,同时保持精确的布局和样式。它还支持添加自定义页眉、页脚和高级文档操作,如合并和拆分PDF。

IronPDF是否可以免费使用?

是的,IronPDF在开发阶段可以免费使用,允许开发人员在没有成本的情况下集成和测试其功能。然而,用于生产用途需要商业许可证。

使用C#中的PDF库进行文档管理有哪些好处?

使用像IronPDF这样的C#中的PDF库简化了文档管理,使PDF的生成、操作和转换变得容易。它提供了保持文档呈现一致性的工具,并支持添加页码、自定义页眉和合并文档等高级功能。

我可以使用IronPDF自定义PDF的外观吗?

是的,IronPDF允许通过使用HTML和CSS来定制PDF的样式。您可以创建自定义页眉、页脚和水印,确保PDF符合特定的设计要求。

Curtis Chau
技术作家

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

除了开发之外,Curtis 对物联网 (IoT) 有浓厚的兴趣,探索将硬件和软件集成的新方法。在空闲时间,他喜欢玩游戏和构建 Discord 机器人,将他对技术的热爱与创造力相结合。

QuestPDF Logo

厌倦了昂贵的续订和过时的产品更新?

借助我们的技术迁移支持和更优惠的方案,轻松从QuestPDF切换而来。

IronPDF Logo