页码对于电子文档和纸质文档都是必不可少的。 它们可以使读者更容易快速查找和访问文档的特定部分,而无需逐页浏览。 在本文中,您将学习如何使用 Spire.PDF for .NET 将页码添加到现有 PDF 文档中。
安装 Spire.PDF for .NET
首先,您需要添加 Spire.PDF for .NET 包中包含的 DLL 文件作为 .NET 项目中的引用。DLL 文件可以从此链接下载或通过 NuGet 安装。
PM> Install-Package Spire.PDF将页码添加到现有 PDF 文档
您可以使用以下动态字段向 PDF 文档添加页码:PdfPageNumberField、PdfPageCountField 和 PdfCompositeField。
顾名思义,PdfPageNumberField 用于显示页码,PdfPageCountField 用于显示总页数,PdfCompositeField 用于将PdfPageNumberField 和 PdfPageCountField 等两个或多个动态字段组合成一个字段。
如果您只想将第 1 页、第 2 页、第 3 页等页码添加到 PDF 文档,您可以使用 PdfPageNumberField。 如果您想在文档中添加“第 X 页,共 Y 页”页码,您需要使用 PdfPageNumberField、PdfPageCountField 和 PdfCompositeField。
以下步骤向您展示如何将“第 X 页,共 Y 页”页码添加到现有 PDF 文档:
- 初始化 PdfDocument 类的实例。
- 使用 PdfDocument.LoadFromFile() 方法加载 PDF 文档。
- 初始化 PdfPageNumberField 类的实例。
- 初始化 PdfPageCountField 类的一个实例。
- 初始化 PdfCompositeField 类的实例。
- 通过 PdfCompositeField.StringFormat 属性设置复合字段的文本对齐方式。
- 循环遍历 PDF 文档中的每一页,然后使用 PdfCompositeField.Draw() 方法在页面的特定位置绘制复合字段。
- 使用 PdfDocument.SaveToFile() 方法保存结果文档。
- C#
- VB.NET
using Spire.Pdf;
using Spire.Pdf.AutomaticFields;
using Spire.Pdf.Graphics;
using System.Drawing;
namespace AddPageNumbers
{
    class Program
    {
        static void Main(string[] args)
        {
            //初始化 PdfDocument 类的实例
            PdfDocument pdf = new PdfDocument();
            //加载示例文档
            pdf.LoadFromFile("示例文档.pdf");
            //设置页码字体样式
            PdfTrueTypeFont font = new PdfTrueTypeFont(new Font("宋体", 10f, FontStyle.Regular), true);
            //初始化 PdfPageNumberField 类的实例
            PdfPageNumberField pageNumber = new PdfPageNumberField();
            //初始化PdfPageCountField 类的实例
            PdfPageCountField pageCount = new PdfPageCountField();
            //初始化PdfCompositeField 类的实例
            PdfCompositeField compositeField = new PdfCompositeField(font, PdfBrushes.Black, "第{0}页,共{1}页", pageNumber, pageCount);
            //设置复合字段的文本对齐方式
            compositeField.StringFormat = new PdfStringFormat(PdfTextAlignment.Left, PdfVerticalAlignment.Top);
            //循环遍历页面
            for (int i = 0; i < pdf.Pages.Count; i++)
            {
                //在页面的特定位置绘制复合字段
                compositeField.Draw(pdf.Pages[i].Canvas, pdf.Pages[i].Size.Width / 4 - 20, pdf.Pages[i].Size.Height / 2- 20);
            }
            //保存结果文档
            pdf.SaveToFile("添加页码.pdf");
        }
    }
}Imports Spire.Pdf
Imports Spire.Pdf.AutomaticFields
Imports Spire.Pdf.Graphics
Namespace AddPageNumbers
    Friend Class Program
        Private Shared Sub Main(ByVal args As String())
            '初始化 PdfDocument 类的实例
            Dim pdf As PdfDocument = New PdfDocument()
            '加载示例文档
            pdf.LoadFromFile("示例文档.pdf")
            '设置页码字体样式
            Dim font As PdfTrueTypeFont = New PdfTrueTypeFont(New Font("宋体", 10F, FontStyle.Regular), True)
            '初始化 PdfPageNumberField 类的实例
            Dim pageNumber As PdfPageNumberField = New PdfPageNumberField()
            '初始化PdfPageCountField 类的实例
            Dim pageCount As PdfPageCountField = New PdfPageCountField()
            '初始化PdfCompositeField 类的实例
            Dim compositeField As PdfCompositeField = New PdfCompositeField(font, PdfBrushes.Black, "第{0}页,共{1}页", pageNumber, pageCount)
            '设置复合字段的文本对齐方式
            compositeField.StringFormat = New PdfStringFormat(PdfTextAlignment.Left, PdfVerticalAlignment.Top)
            '循环遍历页面
            For i As Integer = 0 To pdf.Pages.Count - 1
                '在页面的特定位置绘制复合字段
                compositeField.Draw(pdf.Pages(i).Canvas, pdf.Pages(i).Size.Width / 4 - 20, pdf.Pages(i).Size.Height / 2 - 20)
            Next
            '保存结果文档
            pdf.SaveToFile("添加页码.pdf")
        End Sub
    End Class
End Namespace
申请临时 License
如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请该Email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用JavaScript。获取有效期 30 天的临时许可证。
 
    


 
					



