彩票走势图

Spire.PDF for .NET【页面设置】演示:向 PDF 文档添加页码

原创|行业资讯|编辑:胡涛|2024-12-18 11:05:39.450|阅读 4 次

概述:在本文中,您将学习如何使用Spire.PDF for .NET在 C# 中向 PDF 文档添加页码。

# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>

相关链接:

在 PDF 文档中添加页码不仅实用,而且美观,因为它提供了类似于专业出版材料的精美外观。无论您处理的是小说、报告还是任何其他类型的长文档的数字副本,添加页码都可以显著提高其可读性和实用性。在本文中,您将学习如何使用Spire.PDF for .NET在 C# 中向 PDF 文档添加页码

Spire.PDF for .NET 是一款独立 PDF 控件,用于 .NET 程序中创建、编辑和操作 PDF 文档。使用 Spire.PDF 类库,开发人员可以新建一个 PDF 文档或者对现有的 PDF 文档进行处理,且无需安装 Adobe Acrobat。

E-iceblue 功能类库Spire 系列文档处理组件均由中国本土团队研发,不依赖第三方软件,不受其他国家的技术或法律法规限制,同时适配国产操作系统如中科方德、中标麒麟等,兼容国产文档处理软件 WPS(如 .wps/.et/.dps 等格式

Spire.PDF for.net下载 

安装 Spire.PDF for .NET

首先,您需要将 Spire.PDF for.NET 包中包含的 DLL 文件作为引用添加到您的 .NET 项目中。 可以从此链接下载 DLL 文件,也可以通过NuGet安装。

PM> Install-Package Spire.PDF
PDF 坐标系

当使用 Spire.PDF for .NET 操作现有的 PDF 文档时,需要注意的是坐标系的原点位于页面的左上角。x 轴向右延伸,y 轴向下延伸。

通常,页码位于文档的页眉或页脚部分。因此,在确定页码的适当位置时,考虑页面大小和页边距至关重要。

C#:向 PDF 文档添加页码

在 C# 中的页脚中添加左对齐页码

在 Spire.PDF for .NET 库中,有两个可用的类:PdfPageNumberFieldPdfPageCountField。这些类允许您在将当前页码和总页数添加到 PDF 文档的页面时检索和显示它们。如果您希望插入诸如“第 X 页”或“第 X 页,共 Y 页”之类的文本,则可以使用PdfCompositeField类,该类使您能够将所需文本与一个或多个字段组合成单个字段。以下是使用 C# 在 PDF 页脚中添加左对齐页码的步骤。

  • 创建一个Document对象。
  • 从指定页面加载 PDF 文件。
  • 创建一个PdfPageNumberField对象和一个PdfPageCountField对象。
  • 创建一个PdfCompositeField对象来创建“第 X 页,共 Y 页”格式。
  • 使用PdfCompositeField.Location属性指定 PdfCompositeField 对象的位置。
  • 遍历文档中的页面,并使用PdfCompositeField.Draw()方法将“第 X 页,共 Y 页”添加到页脚部分的左上角。
  • 将文档保存为不同的 PDF 文件。

【C#】

using Spire.Pdf.AutomaticFields;
using Spire.Pdf.Graphics;
using Spire.Pdf;
using System.Drawing;
using Spire.Pdf.License;

namespace AddPageNumbersToLeftCorner
{
class Program
{
static void Main(string[] args)
{
// Apply your license key
LicenseProvider.SetLicenseKey("License Key");

// Create a PdfDocument object
PdfDocument doc = new PdfDocument();

// Load a PDF file
doc.LoadFromFile("C:\\Users\\Administrator\\Desktop\\Terms of service.pdf");

// Create font, brush and pen, which determine the appearance of the page numbers to be added
PdfTrueTypeFont font = new PdfTrueTypeFont(new Font("Times New Roman", 12, FontStyle.Regular), true);
PdfBrush brush = PdfBrushes.Black;
PdfPen pen = new PdfPen(brush, 1.0f);

// Create a PdfPageNumberField object and a PdfPageCountField object
PdfPageNumberField pageNumberField = new PdfPageNumberField();
PdfPageCountField pageCountField = new PdfPageCountField();

// Create a PdfCompositeField object to combine page count field and page number field in a single field
PdfCompositeField compositeField = new PdfCompositeField(font, brush, "Page {0} of {1}", pageNumberField, pageCountField);

// Get the page size
SizeF pageSize = doc.Pages[0].Size;

// Set the location of the composite field
compositeField.Location = new PointF(72, pageSize.Height - 45);

// Iterate through the pages in the document
for (int i = 0; i < doc.Pages.Count; i++)
{

// Get a specific page
PdfPageBase page = doc.Pages[i];

// Draw a line at the specified position
page.Canvas.DrawLine(pen, 72, pageSize.Height - 50, pageSize.Width - 72, pageSize.Height - 50);

// Draw the composite field on the page
compositeField.Draw(page.Canvas);
}

// Save to a different PDF file
doc.SaveToFile("AddPageNumbersToLeftCorner.pdf");

// Dispose resources
doc.Dispose();
}
}
}

C#:向 PDF 文档添加页码

在 C# 中的页脚中添加居中对齐的页码

为了将页脚部分的页码与中心对齐,动态计算文本“第 X 页,共 Y 页”的宽度至关重要。此计算至关重要,因为它决定了页码 ( PdfCompositeField ) 的 X 坐标。要实现居中对齐,X 坐标的计算方法是从页面宽度中减去页码的宽度,然后将结果除以 2,如下所示:(PageWidth - PageNumberWidth)/2。

以下是使用 C# 在 PDF 页脚中添加居中对齐页码的步骤。

  • 创建一个Document对象。
  • 从指定页面加载 PDF 文件。
  • 创建一个PdfPageNumberField对象和一个PdfPageCountField对象。
  • 创建一个PdfCompositeField对象来创建“第 X 页,共 Y 页”格式。
  • 使用PdfCompositeField.Location属性指定 PdfCompositeField 对象的位置。
  • 遍历文档中的页面,并使用PdfCompositeField.Draw()方法将“第 X 页,共 Y 页”添加到页脚部分的中心。
  • 将文档保存为不同的 PDF 文件。

【C#】

using Spire.Pdf.AutomaticFields;
using Spire.Pdf.Graphics;
using Spire.Pdf;
using System.Drawing;
using Spire.Pdf.License;

namespace AddPageNumbersToCenter
{
class Program
{
static void Main(string[] args)
{
// Apply your license key
LicenseProvider.SetLicenseKey("License Key");

// Create a PdfDocument object
PdfDocument doc = new PdfDocument();

// Load a PDF file
doc.LoadFromFile("C:\\Users\\Administrator\\Desktop\\Terms of service.pdf");

// Create font, brush and pen, which determine the appearance of the page numbers to be added
PdfTrueTypeFont font = new PdfTrueTypeFont(new Font("Times New Roman", 12, FontStyle.Regular), true);
PdfBrush brush = PdfBrushes.Black;
PdfPen pen = new PdfPen(brush, 1.0f);

// Create a PdfPageNumberField object and a PdfPageCountField object
PdfPageNumberField pageNumberField = new PdfPageNumberField();
PdfPageCountField pageCountField = new PdfPageCountField();

// Create a PdfCompositeField object to combine page count field and page number field in a single field
PdfCompositeField compositeField = new PdfCompositeField(font, brush, "Page {0} of {1}", pageNumberField, pageCountField);

// Iterate through the pages in the document
for (int i = 0; i < doc.Pages.Count; i++)
{

// Get a specific page
PdfPageBase page = doc.Pages[i];

// Get the page size
SizeF pageSize = doc.Pages[i].Size;

// Draw a line at the specified position
page.Canvas.DrawLine(pen, 72, pageSize.Height - 50, pageSize.Width - 72, pageSize.Height - 50);

// Measure the size the "Page X of Y"
SizeF pageNumberSize = font.MeasureString(string.Format("Page {0} of {1}", i + 1, doc.Pages.Count));

// Set the location of the composite field
compositeField.Location = new PointF((pageSize.Width - pageNumberSize.Width) / 2, pageSize.Height - 45);

// Draw the composite field on the page
compositeField.Draw(page.Canvas);

}

// Save to a different PDF file
doc.SaveToFile("AddPageNumbersToCenter.pdf");

// Dispose resources
doc.Dispose();
}
}
}

C#:向 PDF 文档添加页码

在 C# 中的页脚中添加右对齐页码

要将页码定位在页脚部分的右上角,还必须动态计算文本“第 X 页,共 Y 页”的宽度。因为页码 ( PdfCompositeField ) 的 X 坐标是通过从页面宽度中减去页码和右页边距的组合宽度来确定的,如下所示:PageWidth - (PageNumberWidth + RightPageMargin)。

以下是使用 C# 在 PDF 页脚中添加右对齐页码的步骤。

  • 创建一个Document对象。
  • 从指定页面加载 PDF 文件。
  • 创建一个PdfPageNumberField对象和一个PdfPageCountField对象。
  • 创建一个PdfCompositeField对象来创建“第 X 页,共 Y 页”格式。
  • 使用PdfCompositeField.Location属性指定 PdfCompositeField 对象的位置。
  • 遍历文档中的页面,并使用PdfCompositeField.Draw()方法将“第 X 页,共 Y 页”添加到页脚部分的右上角。
  • 将文档保存为不同的 PDF 文件。

【C#】

using Spire.Pdf.AutomaticFields;
using Spire.Pdf.Graphics;
using Spire.Pdf;
using System.Drawing;
using Spire.Pdf.License;

namespace AddPageNumbersToRigthCorner
{
class Program
{
static void Main(string[] args)
{
// Apply your license key
LicenseProvider.SetLicenseKey("License Key");

// Create a PdfDocument object
PdfDocument doc = new PdfDocument();

// Load a PDF file
doc.LoadFromFile("C:\\Users\\Administrator\\Desktop\\Terms of service.pdf");

// Create font, brush and pen, which determine the appearance of the page numbers to be added
PdfTrueTypeFont font = new PdfTrueTypeFont(new Font("Times New Roman", 12, FontStyle.Regular), true);
PdfBrush brush = PdfBrushes.Black;
PdfPen pen = new PdfPen(brush, 1.0f);

// Create a PdfPageNumberField object and a PdfPageCountField object
PdfPageNumberField pageNumberField = new PdfPageNumberField();
PdfPageCountField pageCountField = new PdfPageCountField();

// Create a PdfCompositeField object to combine page count field and page number field in a single field
PdfCompositeField compositeField = new PdfCompositeField(font, brush, "Page {0} of {1}", pageNumberField, pageCountField);

// Iterate through the pages in the document
for (int i = 0; i < doc.Pages.Count; i++)
{

// Get a specific page
PdfPageBase page = doc.Pages[i];

// Get the page size
SizeF pageSize = doc.Pages[i].Size;

// Draw a line at the specified position
page.Canvas.DrawLine(pen, 72, pageSize.Height - 50, pageSize.Width - 72, pageSize.Height - 50);

// Measure the size the "Page X of Y"
SizeF pageNumberSize = font.MeasureString(string.Format("Page {0} of {1}", i + 1, doc.Pages.Count));

// Set the location of the composite field
compositeField.Location = new PointF(pageSize.Width - pageNumberSize.Width - 72, pageSize.Height - 45);

// Draw the composite field on the page
compositeField.Draw(page.Canvas);

}

// Save to a different PDF file
doc.SaveToFile("AddPageNumbersToRigthCorner.pdf");

// Dispose resources
doc.Dispose();
}
}
}

C#:向 PDF 文档添加页码


欢迎下载|体验更多E-iceblue产品

获取更多信息请咨询慧都在线客服  ;技术交流Q群(767755948)


标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@pclwef.cn


为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP