使用C#和VB.NET为现有PDF文档添加页眉

 更新时间:2026年06月09日 08:28:24   作者:2501_93070778  
页眉可以为 PDF 文档提供重要的辅助信息,例如文档标题、作者、日期以及页码等,帮助读者快速了解文档内容并提升阅读和导航体验,所以本文将介绍如何在 C# 和 VB.NET 中为现有 PDF 文档添加页眉,需要的朋友可以参考下

引言

页眉可以为 PDF 文档提供重要的辅助信息,例如文档标题、作者、日期以及页码等,帮助读者快速了解文档内容并提升阅读和导航体验。此外,在页眉中添加企业名称或标识,也有助于增强文档的专业性和品牌辨识度。

本文将介绍如何在 C# 和 VB.NET 中为现有 PDF 文档添加页眉。

环境准备

在开始之前,需要将所使用 PDF 组件包中的 DLL 文件添加到 .NET 项目引用中。您可以从官方网站下载所需文件,或通过 NuGet 安装相应组件。

PM> Install-Package Spire.PDF

背景知识

在使用 .NET PDF 组件处理现有 PDF 文档时,页面坐标系的原点通常位于左上角,X 轴向右延伸,Y 轴向下延伸。向 PDF 页面添加页眉,本质上是在页面顶部的空白区域指定位置插入内容,例如文本、图片、自动字段(如页码、日期)或图形元素。

使用 C# 和 VB.NET 为现有 PDF 文档添加页眉

常见的 PDF 处理库提供了在页面上绘制文本、图片和图形的功能。通过这些功能,可以在 PDF 页面顶部添加标题、公司标识、分隔线等页眉内容。此外,还可以借助自动字段功能动态显示页码、章节编号、创建日期等信息,使页眉内容能够随文档变化自动更新。

下面介绍为 PDF 文档添加包含文本、图片、日期和分隔线的页眉的基本步骤:

  1. 创建 PDF 文档对象。
  2. 加载现有 PDF 文档。
  3. 创建用于绘制文本和图形的字体、画笔及画线对象。
  4. 在页面顶部空白区域绘制文本内容。
  5. 在页面顶部绘制分隔线。
  6. 加载本地图片资源。
  7. 在页面顶部空白区域插入图片。
  8. 创建日期字段对象,用于显示文档创建时间等动态信息。
  9. 在页面顶部绘制日期信息。
  10. 将修改后的文档保存为新的 PDF 文件。

通过上述方法,可以轻松为 PDF 文档添加自定义页眉,并根据需要显示动态信息,从而提升文档的专业性和可读性。

完整示例代码如下:

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

namespace AddHeaderToExistingPdf
{ 
    class Program
    {
        static void Main(string[] args)
        {
            //创建 PdfDocument 对象
            PdfDocument doc = new PdfDocument();

            //加载 PDF 文件
            doc.LoadFromFile("C:\\Users\\Administrator\\Desktop\\TargetMarket.pdf");

            //加载用于页眉的图片
            PdfImage headerImage = PdfImage.FromFile("C:\\Users\\Administrator\\Desktop\\logo.png");

            //获取图片宽度(像素)
            float width = headerImage.Width;

            //将像素转换为点
            PdfUnitConvertor unitCvtr = new PdfUnitConvertor();
            float pointWidth = unitCvtr.ConvertUnits(width, PdfGraphicsUnit.Pixel, PdfGraphicsUnit.Point);

            //指定页眉文本
            string headerText = "E-iceblue Tech\nwww.e-iceblue.com";

            //创建 TrueType 字体
            PdfTrueTypeFont font = new PdfTrueTypeFont(new Font("Times New Roman", 12f, FontStyle.Bold), true);

            //创建画刷
            PdfBrush brush = PdfBrushes.Purple;

            //创建画笔
            PdfPen pen = new PdfPen(brush, 1.0f);

            //创建文档创建日期字段
            PdfCreationDateField creationDateField = new PdfCreationDateField(font, brush);
            creationDateField.DateFormatString = "yyyy-MM-dd";

            //创建复合字段,将静态文本与日期字段组合在一起
            PdfCompositeField compositeField = new PdfCompositeField(font, brush, "creation time: {0}", creationDateField);
            compositeField.Location = new Point(55, 48);

            //遍历文档中的所有页面
            for (int i = 0; i < doc.Pages.Count; i++)
            {
                //获取当前页面
                PdfPageBase page = doc.Pages[i];

                //在顶部空白区域绘制图片
                page.Canvas.DrawImage(headerImage, page.ActualSize.Width - pointWidth - 55, 20);

                //在顶部空白区域绘制文本
                page.Canvas.DrawString(headerText, font, brush, 55, 20);

                //在顶部空白区域绘制分隔线
                page.Canvas.DrawLine(pen, new PointF(55, 70), new PointF(page.ActualSize.Width - 55, 70));

                //在顶部空白区域绘制复合字段
                compositeField.Draw(page.Canvas);
            }

            //保存文件
            doc.SaveToFile("AddHeader.pdf");
            doc.Dispose();
        }
    }
}

总结

本文介绍了如何使用 C# 和 VB.NET 为现有 PDF 文档添加页眉。通过在页面顶部绘制文本、图片、分隔线以及动态日期等内容,可以为 PDF 文档提供更清晰的标识信息和更专业的版面效果。

借助 PDF 处理组件提供的绘图和自动字段功能,开发者能够灵活地自定义页眉内容,并将其批量应用到文档的所有页面。无论是添加企业 Logo、文档标题、创建日期,还是页码等信息,都可以通过编程方式自动完成,从而提高文档处理效率并增强文档的可读性和规范性。

以上就是使用C#和VB.NET为现有PDF文档添加页眉的详细内容,更多关于C#为现有PDF添加页眉的资料请关注脚本之家其它相关文章!

相关文章

  • C#基于JsonConvert解析Json数据的方法实例

    C#基于JsonConvert解析Json数据的方法实例

    最近初接触C#语言,发现JSON解析这块和JAVA差异过大,下面这篇文章主要给大家介绍了关于C#基于JsonConvert解析Json数据的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2023-04-04
  • WPF使用HLSL实现百叶窗动画效果

    WPF使用HLSL实现百叶窗动画效果

    百叶窗动画是制作PPT时常用的动画之一,本文将通过实现百叶窗动画效果的例子介绍在WPF中如何使用ShaderEffect,感兴趣的小伙伴可以了解一下
    2023-09-09
  • C#开发微信门户及应用(4) 关注用户列表及详细信息管理

    C#开发微信门户及应用(4) 关注用户列表及详细信息管理

    这篇文章主要为大家详细介绍了C#开发微信门户及应用第四篇,关注用户列表及详细信息管理,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-06-06
  • Unity3D使用右键菜单打开工程

    Unity3D使用右键菜单打开工程

    这篇文章主要为大家详细介绍了Unity3D使用右键菜单打开工程的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-03-03
  • Unity3D实现旋钮控制灯光效果

    Unity3D实现旋钮控制灯光效果

    这篇文章主要为大家详细介绍了Unity3D实现旋钮控制灯光效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-04-04
  • C#反射机制介绍

    C#反射机制介绍

    这篇文章介绍了C#的反射机制,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-03-03
  • Unity的AssetPostprocessor之Model函数使用实战

    Unity的AssetPostprocessor之Model函数使用实战

    这篇文章主要为大家介绍了Unity的AssetPostprocessor之Model函数使用实战,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-08-08
  • C#中使用Override和New关键字进行版本控制

    C#中使用Override和New关键字进行版本控制

    在 C# 中,override 和 new 关键字用于控制类之间的成员方法的隐藏和重写,理解它们之间的差异和使用场景对于设计灵活且易于维护的代码至关重要,在这篇博客中,我们将详细探讨这两个关键字的用法,并通过示例来说明它们的实际应用,需要的朋友可以参考下
    2024-10-10
  • C#模式画刷HatchBrush用法实例

    C#模式画刷HatchBrush用法实例

    这篇文章主要介绍了C#模式画刷HatchBrush用法,实例分析了模式画刷HatchBrush绘图的相关技巧,需要的朋友可以参考下
    2015-06-06
  • C#微信公众平台开发之access_token的获取存储与更新

    C#微信公众平台开发之access_token的获取存储与更新

    这篇文章主要介绍了C#微信公众平台开发之access_token的获取存储与更新的相关资料,需要的朋友可以参考下
    2016-03-03

最新评论