页码对于电子文档和纸质文档都是必不可少的。 它们可以使读者更容易快速查找和访问文档的特定部分,而无需逐页浏览。 在本文中,您将学习如何使用 spire.pdf for .net 将页码添加到现有 pdf 文档中。
安装 spire.pdf for .net
首先,您需要添加 spire.pdf for .net 包中包含的 dll 文件作为 .net 项目中的引用。dll 文件可以从此链接下载或通过 安装。
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 天的临时许可证。