您的位置:首页 > 新闻 > 会展 > 辽宁建设工程信息网218_电商网站开发的背景_酒店营销策划与运营_无锡营销型网站建站

辽宁建设工程信息网218_电商网站开发的背景_酒店营销策划与运营_无锡营销型网站建站

2024/12/24 10:37:57 来源:https://blog.csdn.net/m0_67129275/article/details/144420104  浏览:    关键词:辽宁建设工程信息网218_电商网站开发的背景_酒店营销策划与运营_无锡营销型网站建站
辽宁建设工程信息网218_电商网站开发的背景_酒店营销策划与运营_无锡营销型网站建站

在 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 文档添加页码

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com