C#给PDF文档添加文本和图片页眉
页眉常用于显示文档的附加信息,我们可以在页眉中插入文本或者图形,例如,页码、日期、公司徽标、文档标题、文件名或作者名等等。那么我们如何以编程的方式添加页眉呢?今天,这篇文章向大家分享如何使用了免费组件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 = ;
- 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( , );
- topSpace.Graphics.DrawImage(headerImage,,,width/,height/);
- }
接下来再创建一个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 = ;
- 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(, );
- topSpace.Graphics.DrawImage(headerImage, , , width / , height / );
- }
- }
- }
谢谢浏览!
C#给PDF文档添加文本和图片页眉的更多相关文章
- C#如何给PDF文档添加注释
整理文档时,我们可能会需要在一些或一段文字上添加注释加以说明,那如何以编程的方式实现呢?本文将实例讲述C#中如何使用免费组件给PDF文档添加文本注释,包括自由文本注释.自由文本注释能允许我们自定义它的 ...
- 如何给PDF文档添加和删除贝茨编号
PDF文件的使用频率高了,我们也不只局限于使用PDF文件了,也会需要编辑PDF文件的时候,那么如何在PDF文件中添加和去除贝茨编号呢,应该有很多小伙伴都想知道吧,今天就来跟大家分享一下吧,小伙伴们就一 ...
- 利用iTextSharp组件给PDF文档添加图片水印,文字水印
最近在做关于PDF文档添加水印的功能,折腾了好久,终于好了.以下做个记录: 首先会用到iTextSharp组件,大家可以去官网下载,同时我也会在本文中附加进来. 代码中添加引用为: using S ...
- ABBYY FineReader 15 如何为PDF文档添加页眉页脚
页眉.页脚是文档页面顶部或底部重复出现的文本信息.很多用户会习惯在文档页面的顶部与底部区域添加页眉.页脚来展现页码.文档标题.作者姓名.品牌名称等附加信息.而ABBYY FineReader 15(W ...
- C# 给现有PDF文档添加页眉、页脚
概述 页眉页脚是一篇完整.精致的文档的重要组成部分.在页眉页脚处,可以呈现的内容很多,如公司名称.页码.工作表名.日期.图片,如LOGO.标记等.在之前的文章中介绍了如何通过新建一页空白PDF页来添加 ...
- Java 设置PDF文档背景——单色背景、图片背景
一般生成的PDF文档默认的文档底色为白色,我们可以通过一定方法来更改文档的背景色,以达到文档美化的作用. 以下内容提供了Java编程来设置PDF背景色的方法.包括2种设置方法: 设置纯色背景色 设置图 ...
- 关于根据模板生成pdf文档,差入图片和加密
import com.alibaba.fastjson.JSONObject; import com.aliyun.oss.OSSClient; import com.itextpdf.text.pd ...
- C#添加PDF页眉——添加文本、图片到页眉
页眉常用于显示文档的附加信息,我们可以在页眉中插入文本或者图形,例如,页码.日期.公司徽标.文档标题.文件名或作者名等等.那么我们如何以编程的方式添加页眉呢?今天,这篇文章向大家分享如何使用了免费组件 ...
- C# 操作Word 文档——添加Word页眉、页脚和页码
在Word文档中,我们可以通过添加页眉.页脚的方式来丰富文档内容.添加页眉.页脚时,可以添加时间.日期.文档标题,文档引用信息.页码.内容解释.图片/LOGO等多种图文信息.同时也可根据需要调整文字或 ...
随机推荐
- 恋爱虽易,相处不易:当EntityFramework爱上AutoMapper
剧情开始 为何相爱? 相处的问题? 女人的伟大? 剧情收尾? 有时候相识即是一种缘分,相爱也不需要太多的理由,一个眼神足矣,当EntityFramework遇上AutoMapper,就是如此,恋爱虽易 ...
- 在Linux虚拟机下配置tomcat
1.到Apache官网下载tomcat http://tomcat.apache.org/download-80.cgi 博主我下载的是tomcat8 博主的jdk是1.8 如果你们的jdk是1.7或 ...
- 23种设计模式--建造者模式-Builder Pattern
一.建造模式的介绍 建造者模式就是将零件组装成一个整体,用官方一点的话来讲就是将一个复杂的构建与其表示相分离,使得同样的构建过程可以创建不同的表示.生活中比如说组装电脑,汽车等等这些都是建 ...
- CoreCRM 开发实录——开始之新项目的技术选择
2016年11月,接受了一个工作,是对"悟空CRM"进行一些修补.这是一个不错的 CRM,开源,并提供一个 SaaS 的服务.正好微软的 .NET Core 和 ASP.NET C ...
- ASP.NET Core的路由[1]:注册URL模式与HttpHandler的映射关系
ASP.NET Core的路由是通过一个类型为RouterMiddleware的中间件来实现的.如果我们将最终处理HTTP请求的组件称为HttpHandler,那么RouterMiddleware中间 ...
- 从netty-example分析Netty组件续
上文我们从netty-example的Discard服务器端示例分析了netty的组件,今天我们从另一个简单的示例Echo客户端分析一下上个示例中没有出现的netty组件. 1. 服务端的连接处理,读 ...
- 玩转spring boot——结合JPA入门
参考官方例子:https://spring.io/guides/gs/accessing-data-jpa/ 接着上篇内容 一.小试牛刀 创建maven项目后,修改pom.xml文件 <proj ...
- Java 堆内存与栈内存异同(Java Heap Memory vs Stack Memory Difference)
--reference Java Heap Memory vs Stack Memory Difference 在数据结构中,堆和栈可以说是两种最基础的数据结构,而Java中的栈内存空间和堆内存空间有 ...
- Postman接口调试神器-Chrome浏览器插件
首先大家可以去这个地址下载 Postman_v4.1.3 这个版本,我用的就是这个版本 http://chromecj.com/web-development/2014-09/60/download. ...
- 负载均衡——nginx理论
nginx是什么? nginx是一个强大的web服务器软件,用于处理高并发的http请求和作为反向代理服务器做负载均衡.具有高性能.轻量级.内存消耗少,强大的负载均衡能力等优势. nginx架构? ...