C# 添加PDF页眉/页脚的示例代码

时间:2021-05-20

概述

页眉页脚是一篇完整、精致的文档的重要组成部分。在页眉页脚处,可以呈现的内容很多,如公司名称、页码、工作表名、日期、图片,如LOGO、标记等。在下面的文章中,将介绍如何在PDF中添加页眉页脚。通过代码测试,添加页眉页脚可以分两种情况来实现效果:

1.通过添加新的一页,在新建的页面上来添加页眉页脚

2.通过给现有文档直接添加页眉页脚

下面将根据这两种情况介绍具体的C#代码操作

使用工具

Free Spire.PDF for .NET 4.3(社区版)

示例代码(供参考)

1.新建一页来添加页眉页脚

1.1 添加页眉

【C#】

using Spire.Pdf;using Spire.Pdf.Graphics;using System.Drawing;using System;namespace AddHeader_PDF{ class Program { static void Main(string[] args) { //新建一个PdfDocument类对象,并添加一页 PdfDocument pdf = new PdfDocument(); PdfPageBase page = pdf.Pages.Add(); //设置margin PdfUnitConvertor unitCvtr = new PdfUnitConvertor(); PdfMargins margin = new PdfMargins(); margin.Top = unitCvtr.ConvertUnits(2.54f, PdfGraphicsUnit.Centimeter, PdfGraphicsUnit.Point); margin.Bottom = margin.Top; margin.Left = unitCvtr.ConvertUnits(4.17f, PdfGraphicsUnit.Centimeter, PdfGraphicsUnit.Point); margin.Right = margin.Left; //调用AddHeader()方法添加页眉 AddHeader(pdf, PdfPageSize.A4, margin); //保存并打开文档 pdf.SaveToFile("PDF页眉.pdf"); System.Diagnostics.Process.Start("PDF页眉.pdf"); } static void AddHeader(PdfDocument doc, SizeF pageSize, PdfMargins margin) { //初始化一个PdfPageTemplateElement对象,用于创建页眉 PdfPageTemplateElement headerSpace = new PdfPageTemplateElement(pageSize.Width, margin.Top); headerSpace.Foreground = true; doc.Template.Top = headerSpace; //在页眉部分绘入文字 PdfTrueTypeFont font = new PdfTrueTypeFont(new Font("Arial Unicode MS", 10f), true); PdfStringFormat format = new PdfStringFormat(PdfTextAlignment.Right); String headerText = "WORLD TRADE ORGANIZATION, WTO \n THE INTERNATIONAL ORGANIZATION THAT REGULATES INTERNATIONAL TRADE"; float x = PdfPageSize.A4.Width; float y = 0; headerSpace.Graphics.DrawString(headerText, font, PdfBrushes.Black, x, y, format); //在页眉部分绘入图片 PdfImage headerImage = PdfImage.FromFile(@"C:\Users\Administrator\Desktop\1.png"); float width = headerImage.Width / 2; float height = headerImage.Height / 3; headerSpace.Graphics.DrawImage(headerImage, 0, 0, width, height); } }}

页眉添加效果:

1.2添加页脚

【C#】

using Spire.Pdf;using Spire.Pdf.Graphics;using System.Drawing;using System;using Spire.Pdf.AutomaticFields;namespace AddFooter_PDF{ class Program { static void Main(string[] args) { //新建一个PdfDocument类对象,添加一页 PdfDocument doc = new PdfDocument(); PdfPageBase page = doc.Pages.Add(); //设置margin PdfUnitConvertor unitCvtr = new PdfUnitConvertor(); PdfMargins margin = new PdfMargins(); margin.Top = unitCvtr.ConvertUnits(2.54f, PdfGraphicsUnit.Centimeter, PdfGraphicsUnit.Point); margin.Bottom = margin.Top; margin.Left = unitCvtr.ConvertUnits(4.17f, PdfGraphicsUnit.Centimeter, PdfGraphicsUnit.Point); margin.Right = margin.Left; //调用AddFooter()方法添加页脚 AddFooter(doc, PdfPageSize.A4, margin); //调用AddPageNumber()方法添加页码 AddPageNumber(doc, margin); //保存并打开文档 doc.SaveToFile("PDF页脚.pdf"); System.Diagnostics.Process.Start("PDF页脚.pdf"); } static void AddFooter(PdfDocument doc, SizeF pageSize, PdfMargins margin) { //初始化一个PdfPageTemplateElement对象,用于创建页脚 PdfPageTemplateElement footerSpace = new PdfPageTemplateElement(pageSize.Width, margin.Bottom); footerSpace.Foreground = true; doc.Template.Bottom = footerSpace; //在页脚部分绘入文字 PdfTrueTypeFont font = new PdfTrueTypeFont(new Font("Arial Unicode MS", 10f), true); PdfStringFormat format = new PdfStringFormat(PdfTextAlignment.Center); String headerText = "Website : positeField.Draw(doc.Pages[i].Canvas); } } }}

测试效果:

注意事项

安装之后,添加引用Spire.PDF.dll文件到项目程序即可,dll文件可在安装路径下的Bin文件夹中获取。

以上是本次关于C#添加PDF页眉页脚的全部内容,两种情况中的示例方法,可以选择参考使用。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章