页码对于电子文档和纸质文档都是必不可少的。 它们可以使读者更容易快速查找和访问文档的特定部分,而无需逐页浏览。 在本文中,您将学习如何使用 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 天的临时许可证。