利用C#如何给PDF文档添加文本与图片页眉

发布时间 - 2026-01-10 22:20:04    点击率:

前言

下面这篇文章向大家分享如何使用了免费组件Free Spire.PDF给PDF文档添加文本和图片页眉。这个组件提供了一些方法,可以帮助我们快速方便地实现此目的。

添加页眉步骤:

首先,创建一个Visual C#控制台项目,添加组件引用并使用以下命名空间。

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

在下列代码中,我们先定义一个SetDocumentTemplate()方法来创建一个PDF文档模板,这个模板只包含文本和图片页眉。然后,调用DrawString(string s, PdfFontBase font, PdfBrush brush, float x, float y, PdfStringFormat format)方法和DrawImage(PdfImage image, float x, float y, float width, float height)方法,插入自定义的文本和图片页眉。

static void SetDocumentTemplate(PdfDocument doc, SizeF pageSize, PdfMargins margin)
{
 //创建PDF模板
 PdfPageTemplateElement topSpace = new PdfPageTemplateElement(pageSize.Width, margin.Top);
 topSpace.Foreground = true;
 doc.Template.Top = topSpace;
 //添加文本页眉
 PdfTrueTypeFont font1 = new PdfTrueTypeFont(new Font("宋体", 15f), true);
 PdfStringFormat format = new PdfStringFormat(PdfTextAlignment.Right);
 String Text = "PDF文本页眉";
 float y = 0;
 float x = PdfPageSize.A4.Width;
 topSpace.Graphics.DrawString(Text, font1, PdfBrushes.PaleVioletRed, x, y, format); 
 //添加图片页眉
 PdfImage headerImage = PdfImage.FromFile(@"logo.png");
 float width = headerImage.Width;
 float height = headerImage.Height;
 PointF pageLeftTop = new PointF(0 , 0);
 topSpace.Graphics.DrawImage(headerImage,0,0,width/2,height/2); 
}

接下来再创建一个PDF文档,主函数内调用SetDocumentTemplate()方法将带有文本和图片页眉的模板应用到新建的PDF文档中。

具体步骤:

第一步:创建一个PDF文档对象。

PdfDocument doc = new PdfDocument();

第二步:设置页边距。

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;

第三步:PDF文档中应用模板。

SetDocumentTemplate(doc, PdfPageSize.A4, margin);

第四步:PDF文档添加页面。

PdfPageBase page = doc.Pages.Add();
doc.Pages.Add();

第五步:保存并打开文档。

doc.SaveToFile("页眉.pdf");
System.Diagnostics.Process.Start("页眉.pdf");

添加页眉后的效果图:

全部代码:

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

namespace PDF添加页眉
{
 class Program
 {
 static void Main(string[] args)
 {
 PdfDocument doc = new PdfDocument();

 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;

 SetDocumentTemplate(doc, PdfPageSize.A4, margin);
 PdfPageBase page = doc.Pages.Add();
 doc.Pages.Add();

 doc.SaveToFile("页眉.pdf");
 System.Diagnostics.Process.Start("页眉.pdf");
 }

 static void SetDocumentTemplate(PdfDocument doc, SizeF pageSize, PdfMargins margin)
 {
 PdfPageTemplateElement topSpace = new PdfPageTemplateElement(pageSize.Width, margin.Top);
 topSpace.Foreground = true;
 doc.Template.Top = topSpace;
 
 PdfTrueTypeFont font1 = new PdfTrueTypeFont(new Font("宋体", 15f), true);
 PdfStringFormat format = new PdfStringFormat(PdfTextAlignment.Right);
 String Text = "PDF文本页眉";
 float y = 0;
 float x = PdfPageSize.A4.Width;
 topSpace.Graphics.DrawString(Text, font1, PdfBrushes.PaleVioletRed, x, y, format);
 
 PdfImage headerImage = PdfImage.FromFile(@"C:\Users\Administrator\Pictures\under_construction.jpg");
 float width = headerImage.Width;
 float height = headerImage.Height;
 PointF pageLeftTop = new PointF(0, 0);
 topSpace.Graphics.DrawImage(headerImage, 0, 0, width / 2, height / 2);
 }
 }
}

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家学习或者使用C#能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对的支持。


# pdf页眉加图片  # c  # pdf添加图片  # 读取pdf的文本内容  # C#利用iTextSharp组件给PDF文档添加图片/文字水印  # c#添加图片、文本水印到PDF文件  # C#实现的pdf生成图片文字水印类实例  # 如何使用C#在PDF文件添加图片印章  # C#中创建PDF网格并插入图片的方法  # C#实现PDF文件添加图片背景  # C#怎么给PDF添加背景图片  # C# PDF转图片(JPG  # Png)的项目实践  # 文档  # 创建一个  # 这篇文章  # 宋体  # 自定义  # 谢谢大家  # 大家分享  # 可以帮助  # 方法来  # 第二步  # 第三步  # 第四步  # 第五步  # 使用了  # 有疑问  # PdfImage  # width  # image  # format  # float 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: php做exe能调用系统命令吗_执行cmd指令实现方式【详解】  HTML5空格和nbsp有啥关系_nbsp的作用及使用场景【说明】  如何在服务器上配置二级域名建站?  中国移动官方网站首页入口 中国移动官网网页登录  bootstrap日历插件datetimepicker使用方法  如何在万网利用已有域名快速建站?  html5怎么画眼睛_HT5用Canvas或SVG画眼球瞳孔加JS控制动态【绘制】  济南网站建设制作公司,室内设计网站一般都有哪些功能?  laravel怎么在请求结束后执行任务(Terminable Middleware)_laravel Terminable Middleware请求结束任务执行方法  1688铺货到淘宝怎么操作 1688一键铺货到自己店铺详细步骤  如何挑选高效建站主机与优质域名?  如何为不同团队 ID 动态生成多个“认领值班”按钮  Laravel如何正确地在控制器和模型之间分配逻辑_Laravel代码职责分离与架构建议  Android okhttputils现在进度显示实例代码  Laravel如何实现事件和监听器?(Event & Listener实战)  Laravel怎么实现搜索高亮功能_Laravel结合Scout与Algolia全文检索【实战】  PHP 500报错的快速解决方法  简单实现Android验证码  购物网站制作费用多少,开办网上购物网站,需要办理哪些手续?  如何在景安服务器上快速搭建个人网站?  如何在七牛云存储上搭建网站并设置自定义域名?  IOS倒计时设置UIButton标题title的抖动问题  如何用手机制作网站和网页,手机移动端的网站能制作成中英双语的吗?  如何打造高效商业网站?建站目的决定转化率  如何将凡科建站内容保存为本地文件?  html5audio标签播放结束怎么触发事件_onended回调方法【教程】  Python并发异常传播_错误处理解析【教程】  如何在万网开始建站?分步指南解析  最好的网站制作公司,网购哪个网站口碑最好,推荐几个?谢谢?  Laravel如何使用Facades(门面)及其工作原理_Laravel门面模式与底层机制  如何快速搭建虚拟主机网站?新手必看指南  常州企业网站制作公司,全国继续教育网怎么登录?  矢量图网站制作软件,用千图网的一张矢量图做公司app首页,该网站并未说明版权等问题,这样做算不算侵权?应该如何解决?  高端云建站费用究竟需要多少预算?  如何自定义safari浏览器工具栏?个性化设置safari浏览器界面教程【技巧】  Laravel如何使用Socialite实现第三方登录?(微信/GitHub示例)  Laravel如何处理表单验证?(Requests代码示例)  Win11怎么修改DNS服务器 Win11设置DNS加速网络【指南】  浅谈redis在项目中的应用  HTML5打空格有哪些误区_新手常犯的空格使用错误【技巧】  北京网站制作公司哪家好一点,北京租房网站有哪些?  怎么用AI帮你设计一套个性化的手机App图标?  Laravel如何使用Eloquent进行子查询  EditPlus中的正则表达式 实战(2)  详解一款开源免费的.NET文档操作组件DocX(.NET组件介绍之一)  Java解压缩zip - 解压缩多个文件或文件夹实例  教学论文网站制作软件有哪些,写论文用什么软件 ?  Laravel如何为API生成Swagger或OpenAPI文档  详解Nginx + Tomcat 反向代理 如何在高效的在一台服务器部署多个站点  如何快速生成高效建站系统源代码?