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

本文共 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://orjqx.baihongyu.com/

你可能感兴趣的文章
[浪子学编程][MS Enterprise Library]ObjectBuilder之创建策略祥解(二)
查看>>
ASP.NET 中设置路径的三种方式
查看>>
EBS使用 Distributed AD在多个节点并行adpatch
查看>>
windows添加和删除服务
查看>>
关于云栖,有点无语的几个地方,管理能不能管?
查看>>
Windows线程的同步与互斥
查看>>
C#进阶系列——MEF实现设计上的“松耦合”(四):构造函数注入
查看>>
AngularJs ng-change事件/指令(转)
查看>>
linux系统下安装两个或多个tomcat
查看>>
ProtoBuffer 简单例子
查看>>
iOS多线程开发系列之(一)NSThread
查看>>
微信小程序初体验(上)- 腾讯ISUX社交用户体验设计成员出品
查看>>
SAP WM Physical Inventory Method ST & PZ
查看>>
一次快速的数据迁移感悟
查看>>
MySQL修改提示符
查看>>
《ELK Stack权威指南(第2版)》一3.6 Java日志
查看>>
C++流的streambuf详解及TCP流的实现
查看>>
《量化金融R语言初级教程》一2.5 协方差矩阵中的噪声
查看>>
mysql到elasticsearch数据迁移踩坑实践-Ali0th
查看>>
Python轻量级数据分析库DaPy
查看>>