使用 C# 在 PDF 中添加页眉和页脚

文档中的页眉和页脚部分显示文档信息,例如文档标题、徽标、章节标题、页码等。我们可以通过编程在 PDF 文档的页眉/页脚中添加任何文本或图像。在本文中,我们将学习如何使用 C# 在 PDF 文档中添加页眉和页脚。

本文将涵盖以下主题:

在 PDF 文档中添加页眉和页脚的 C# API

为了在 PDF 文件中添加页眉和页脚,我们将使用 Aspose.PDF for .NET API。它允许我们在不使用 Adobe Acrobat 的情况下生成、修改、转换、渲染、保护和打印 支持的文档。请下载 API 的 DLL 或使用 NuGet 安装它。

Install-Package Aspose.PDF

使用 C# 在 PDF 的标题中添加文本

我们可以按照以下步骤在现有 PDF 文档的标题中添加文本:

  1. 首先,使用 Document 类以输入文件路径作为参数加载 PDF 文档。它是代表 PDF 文档并允许执行各种功能的主要类。
  2. 接下来,创建一个 TextStamp 类的实例,其中包含要显示在文档标题中的文本。
  3. 然后,设置 TopMargin、HorizontalAlignment、VerticalAlignment 为 Top 等各种属性。
  4. (可选)为文本设置 ForegroundColor、Font、FontStyle、FontSize、BackgroundColor、RotateAngle 和缩放级别。
  5. 之后,遍历所有页面并使用带有 TextStamp 对象的 Page.AddStamp() 方法添加页眉。
  6. 最后,调用Document.Save()方法,将输出文件路径作为参数保存输出文件。

以下代码示例展示了如何使用 C# 在 PDF 文档的页眉中添加文本。

// 此代码示例演示如何在现有 PDF 文档的页眉中添加文本。
// 加载 PDF 文档
Document pdfDocument = new Document(@"C:\Files\sample.pdf");

// 创建标题
TextStamp textStamp = new TextStamp("Header Text");

// 设置图章的属性
textStamp.TopMargin = 10;
textStamp.HorizontalAlignment = HorizontalAlignment.Center;
textStamp.VerticalAlignment = VerticalAlignment.Top;

// 指定字体样式
textStamp.TextState.FontStyle = FontStyles.Bold;
textStamp.TextState.ForegroundColor = Color.Red;
textStamp.TextState.FontSize = 14;
textStamp.TextState.BackgroundColor = Color.Pink;
textStamp.TextState.Font = FontRepository.FindFont("Verdana");

// 在所有页面上添加标题
foreach (Page page in pdfDocument.Pages)
{
    page.AddStamp(textStamp);
}

// 保存更新的文档
pdfDocument.Save(@"C:\Files\output.pdf");
使用 C# 在 PDF 的页眉中添加文本。

使用 C# 在 PDF 的页眉中添加文本。

我们可以按照前面提到的步骤以编程方式在 PDF 文档的页脚中添加文本。但是,我们需要将 BottomMargin 和 VerticalAlignment 设置为 Bottom 以在页脚中显示文本。

以下代码示例展示了如何使用 C# 在 PDF 文档的页脚中添加文本。

// 此代码示例演示如何在现有 PDF 文档的页脚中添加文本。
// 加载 PDF 文档
Document pdfDocument = new Document(@"C:\Files\sample.pdf");

// 创建页脚
TextStamp textStamp = new TextStamp("Footer Text");

// 设置图章的属性
textStamp.BottomMargin = 10;
textStamp.HorizontalAlignment = HorizontalAlignment.Center;
textStamp.VerticalAlignment = VerticalAlignment.Bottom;

// 在所有页面上添加页脚
foreach (Page page in pdfDocument.Pages)
{
    page.AddStamp(textStamp);
}

// 保存更新的文档
pdfDocument.Save(@"C:\Files\output.pdf");
使用 C# 在 PDF 的页脚中添加文本。

使用 C# 在 PDF 的页脚中添加文本。

使用 C# 在 PDF 的页眉中插入图像

我们还可以按照以下步骤在现有 PDF 文档的页眉中添加图像:

  1. 首先,使用 Document 类以输入文件路径作为参数加载 PDF 文档。
  2. 接下来,使用图像文件路径作为参数创建 ImageStamp 类的实例。
  3. 然后,设置 TopMargin、HorizontalAlignment、VerticalAlignment 为 Top 等各种属性。
  4. 之后,遍历所有页面并使用带有 ImageStamp 对象的 Page.AddStamp() 方法添加页眉。
  5. 最后,调用Document.Save()方法,将输出文件路径作为参数保存输出文件。

以下代码示例展示了如何使用 C# 在 PDF 文档的页眉中添加图像。

// 此代码示例演示如何在现有 PDF 文档的页眉中添加图像。
// 加载 PDF 文档
Document pdfDocument = new Document(@"C:\Files\sample.pdf");

// 创建标题
ImageStamp imageStamp = new ImageStamp(@"C:\Files\conholdate-logo.jpg");

// 设置图章的属性
imageStamp.TopMargin = 10;
imageStamp.HorizontalAlignment = HorizontalAlignment.Center;
imageStamp.VerticalAlignment = VerticalAlignment.Top;

// 在所有页面上添加标题
foreach (Page page in pdfDocument.Pages)
{
    page.AddStamp(imageStamp);
}

// 保存更新的文档
pdfDocument.Save(@"C:\Files\output.pdf");
使用 C# 在 PDF 的页眉中插入图像。

使用 C# 在 PDF 的页眉中插入图像。

我们可以按照前面提到的步骤以编程方式在 PDF 文档的页脚中添加图像。但是,我们需要将 BottomMargin 和 VerticalAlignment 设置为 Bottom 以在页脚中显示图像。

以下代码示例展示了如何使用 C# 在 PDF 文档的页脚中添加图像。

// 此代码示例演示如何在现有 PDF 文档的页脚中添加图像。
// 加载 PDF 文档
Document pdfDocument = new Document(@"C:\Files\sample.pdf");

// 创建页脚
ImageStamp imageStamp = new ImageStamp(@"C:\Files\conholdate-logo.jpg");

// 设置图章的属性
imageStamp.BottomMargin = 10;
imageStamp.HorizontalAlignment = HorizontalAlignment.Center;
imageStamp.VerticalAlignment = VerticalAlignment.Bottom;

// 在所有页面上添加页脚
foreach (Page page in pdfDocument.Pages)
{
    page.AddStamp(imageStamp);
}

// 保存更新的文档
pdfDocument.Save(@"C:\Files\output.pdf");
使用 C# 在 PDF 的页脚中插入图像。

使用 C# 在 PDF 的页脚中插入图像。

在不同的页面上添加不同的页眉和页脚

我们可以按照以下步骤为单个 PDF 文档中的不同页面添加不同的页眉/页脚:

  1. 首先,使用 Document 类以输入文件路径作为参数加载 PDF 文档。
  2. 接下来,创建带有图像文件路径的 ImageStamp 类和/或带有要显示的文本的 TextStamp 类的多个实例。
  3. 然后,将 TopMargin、HorizontalAlignment 和 VerticalAlignment 等各种属性设置为页眉的 Top,将 BottomMargin 和 VerticalAlignment 设置为页脚的 Bottom。
  4. 之后,使用带有 ImageStamp 或 TextStamp 对象的 Page.AddStamp() 方法为页面添加页眉或页脚。
  5. 最后,调用Document.Save()方法,将输出文件路径作为参数保存输出文件。

以下代码示例展示了如何使用 C# 在单个 PDF 文档中添加多个页眉和页脚。

// 此代码示例演示了如何为单个 PDF 文档中的不同页面添加不同的页眉。
// 加载 PDF 文档
Document pdfDocument = new Document(@"C:\Files\sample.pdf");

// 创建三个邮票
ImageStamp stamp1 = new ImageStamp(@"C:\Files\PDF\conholdate-logo.jpg");
TextStamp stamp2 = new TextStamp("Header Stamp 2");
TextStamp stamp3 = new TextStamp("Header Stamp 3");

// 为 stamp1 设置图章对齐
stamp1.VerticalAlignment = VerticalAlignment.Top;
stamp1.HorizontalAlignment = HorizontalAlignment.Center;

// 为 stamp2 设置图章对齐
stamp2.VerticalAlignment = VerticalAlignment.Top;
// 将图章的水平对齐信息设置为居中对齐
stamp2.HorizontalAlignment = HorizontalAlignment.Center;
// 设置图章对象的缩放系数
stamp2.Zoom = 10;

// 为 stamp3 设置图章对齐方式
stamp3.VerticalAlignment = VerticalAlignment.Top;
// 将图章对象的水平对齐信息设置为居中对齐
stamp3.HorizontalAlignment = HorizontalAlignment.Center;
// 设置图章对象的旋转角度
stamp3.RotateAngle = 35;


// 在第一页添加第一个印章;
pdfDocument.Pages[1].AddStamp(stamp1);

// 在第二页添加第二个印章;
pdfDocument.Pages[2].AddStamp(stamp2);

// 在第三页添加第三个印章。
pdfDocument.Pages[3].AddStamp(stamp3);

// 保存更新的文档
pdfDocument.Save(@"C:\Files\output.pdf");

我们可以按照以下步骤在 PDF 文档的页脚部分添加页码:

  1. 首先,使用 Document 类以输入文件路径作为参数加载 PDF 文档。
  2. 接下来,对 Document.Pages 集合中的每个页面执行以下操作。
    • 创建一个 TextStamp 类的实例,其中包含与当前页码连接的文本。
    • 然后,设置BottomMargin、HorizontalAlignment、VerticalAlignment等各种属性为Bottom等。
    • 之后,使用 TextStamp 对象调用 Page.AddStamp() 方法,在页脚中添加页码。
  3. 最后,调用Document.Save()方法,将输出文件路径作为参数保存输出文件。

以下代码示例演示如何使用 C# 在 PDF 文档的页脚中为每个页面添加页码。

// 此代码示例演示如何在 PDF 文档的每一页的页脚中添加页码。 
// 加载 PDF 文档
Document pdfDocument = new Document(@"C:\Files\sample.pdf");

// 在所有页面上添加页脚
foreach (Page page in pdfDocument.Pages)
{
    // 创建页脚
    TextStamp textStamp = new TextStamp("Page " + page.Number + " of " + pdfDocument.Pages.Count + " pages.");
    
    // 设置图章的属性
    textStamp.BottomMargin = 10;
    textStamp.HorizontalAlignment = HorizontalAlignment.Center;
    textStamp.VerticalAlignment = VerticalAlignment.Bottom;

    // 添加邮票
    page.AddStamp(textStamp);
}

// 保存更新的文档
pdfDocument.Save(@"C:\Files\PDF\output.pdf");
在页脚中添加页码。

使用 C# 在 PDF 的页脚中添加页码。

获取免费 API 许可证

您可以通过请求 免费的临时许可证 来试用该 API,而不受评估限制。

结论

在本文中,我们学习了如何使用 C# 在现有 PDF 文件的页眉/页脚中添加文本或图像。我们还了解了如何在 PDF 文档的不同页面上添加不同的页眉以及如何在文档的页脚中添加页码。此外,您可以使用 documentation 了解更多关于 Aspose.PDF for .NET API 的信息。如有任何歧义,请随时在 论坛 上与我们联系。

也可以看看