博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C#给PDF文档添加文本和图片页眉
阅读量:6219 次
发布时间:2019-06-21

本文共 4099 字,大约阅读时间需要 13 分钟。

页眉常用于显示文档的附加信息,我们可以在页眉中插入文本或者图形,例如,页码、日期、公司徽标、文档标题、文件名或作者名等等。那么我们如何以编程的方式添加页眉呢?今天,这篇文章向大家分享如何使用了免费组件给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");

添加页眉后的效果图:

全部代码:

1 using System; 2 using Spire.Pdf; 3 using System.Drawing; 4 using Spire.Pdf.Graphics; 5  6 namespace PDF添加页眉 7 { 8     class Program 9     {10         static void Main(string[] args)11         {12             PdfDocument doc = new PdfDocument();13 14             PdfUnitConvertor unitCvtr = new PdfUnitConvertor();15             PdfMargins margin = new PdfMargins();16             margin.Top = unitCvtr.ConvertUnits(2.54f, PdfGraphicsUnit.Centimeter, PdfGraphicsUnit.Point);17             margin.Bottom = margin.Top;18             margin.Left = unitCvtr.ConvertUnits(4.17f, PdfGraphicsUnit.Centimeter, PdfGraphicsUnit.Point);19             margin.Right = margin.Left;20 21             SetDocumentTemplate(doc, PdfPageSize.A4, margin);22             PdfPageBase page = doc.Pages.Add();23             doc.Pages.Add();24 25             doc.SaveToFile("页眉.pdf");26             System.Diagnostics.Process.Start("页眉.pdf");27         }28 29         static void SetDocumentTemplate(PdfDocument doc, SizeF pageSize, PdfMargins margin)30         {31             PdfPageTemplateElement topSpace = new PdfPageTemplateElement(pageSize.Width, margin.Top);32             topSpace.Foreground = true;33             doc.Template.Top = topSpace;34            35             PdfTrueTypeFont font1 = new PdfTrueTypeFont(new Font("宋体", 15f), true);36             PdfStringFormat format = new PdfStringFormat(PdfTextAlignment.Right);37             String  Text = "PDF文本页眉";38             float y = 0;39             float x = PdfPageSize.A4.Width;40             topSpace.Graphics.DrawString(Text, font1, PdfBrushes.PaleVioletRed, x, y, format);41             42             PdfImage headerImage = PdfImage.FromFile(@"C:\Users\Administrator\Pictures\under_construction.jpg");43             float width = headerImage.Width;44             float height = headerImage.Height;45             PointF pageLeftTop = new PointF(0, 0);46             topSpace.Graphics.DrawImage(headerImage, 0, 0, width / 2, height / 2);47         }48     }49 }
View Code

谢谢浏览!

 

转载地址:http://jplja.baihongyu.com/

你可能感兴趣的文章
构建多页的前后分离web项目(alpaca-spa的视图用法)
查看>>
Ubuntu笔记--文件关联软件
查看>>
2017 年终总结 —— 在路上
查看>>
[20180627]truncate table的另类恢复.txt
查看>>
Android DataBinding数据绑定技术在传统ListView中的使用简例
查看>>
Android - 使用Volley请求网络数据
查看>>
情出所愿 事过无悔
查看>>
java实现office文件预览
查看>>
C# TextBox 焦点
查看>>
TCP协议解析
查看>>
Spark on Yarn 架构解析
查看>>
SqlServer建立存储过程,方便.NET插入自增字段
查看>>
Servlet第五篇【介绍会话技术、Cookie的API、详解、应用】
查看>>
千奇百怪的陆地机器人,都是怎么“跑”起来的?
查看>>
ODCC开放数据中心峰会即将召开 十道“技术大餐”提前揭秘
查看>>
深度学习机器学习:softmax和log_softmax区分
查看>>
公司环境搭建(windows10)
查看>>
给1~3年iOS经验朋友们的一些建议(附BAT面经)
查看>>
Kali Linux 网络扫描秘籍 翻译完成!
查看>>
Confluence 平台部署记录
查看>>