C#添加PDF页眉——添加文本、图片到页眉
页眉常用于显示文档的附加信息,我们可以在页眉中插入文本或者图形,例如,页码、日期、公司徽标、文档标题、文件名或作者名等等。那么我们如何以编程的方式添加页眉呢?今天,这篇文章向大家分享如何使用了免费组件Free Spire.PDF给PDF文档添加文本和图片页眉。这个组件提供了一些方法,可以帮助我们快速方便地实现此目的。 添加页眉步骤: 首先,创建一个Visual C#控制台项目,添加组件引用并使用以下命名空间。 using System; System.Drawing; 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 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),); PdfStringFormat format = PdfStringFormat(PdfTextAlignment.Right); String Text = PDF文本页眉"; float y = 0float 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,); topSpace.Graphics.DrawImage(headerImage,2,height/2); } 接下来再创建一个PDF文档,主函数内调用SetDocumentTemplate()方法将带有文本和图片页眉的模板应用到新建的PDF文档中。具体步骤: 第一步:创建一个PDF文档对象。 PdfDocument doc = new PdfDocument();
第二步:设置页边距。 PdfUnitConvertor unitCvtr = PdfUnitConvertor(); PdfMargins margin = PdfMargins(); margin.Top = unitCvtr.ConvertUnits(2.54f,PdfGraphicsUnit.Centimeter,PdfGraphicsUnit.Point); margin.Bottom = margin.Top; margin.Left = unitCvtr.ConvertUnits(4.17fSetDocumentTemplate(doc,PdfPageSize.A4,margin); 第四步:PDF文档添加页面。 PdfPageBase page = doc.Pages.Add();
doc.Pages.Add();
第五步:保存并打开文档。 doc.SaveToFile(页眉.pdf); System.Diagnostics.Process.Start("); 添加页眉后的效果图: 全部代码: 1 2 3 4 Spire.Pdf.Graphics; 5 6 namespace PDF添加页眉 7 { 8 class Program 9 { 10 void Main(string[] args) 11 { 12 PdfDocument doc = PdfDocument(); 13 14 PdfUnitConvertor unitCvtr = PdfUnitConvertor(); 15 PdfMargins margin = PdfMargins(); 16 margin.Top = unitCvtr.ConvertUnits(17 margin.Bottom = margin.Top; 18 margin.Left = unitCvtr.ConvertUnits(19 margin.Right = margin.Left; 20 21 SetDocumentTemplate(doc,margin); 22 PdfPageBase page = doc.Pages.Add(); 23 doc.Pages.Add(); 24 25 doc.SaveToFile(); 26 System.Diagnostics.Process.Start(27 } 28 29 30 31 PdfPageTemplateElement topSpace = 32 topSpace.Foreground = ; 33 doc.Template.Top = topSpace; 34 35 PdfTrueTypeFont font1 = 36 PdfStringFormat format = PdfStringFormat(PdfTextAlignment.Right); 37 String Text = 38 39 PdfPageSize.A4.Width; 40 topSpace.Graphics.DrawString(Text,format); 41 42 PdfImage headerImage = PdfImage.FromFile(C:UsersAdministratorPicturesunder_construction.jpg43 headerImage.Width; 44 headerImage.Height; 45 PointF pageLeftTop = 46 topSpace.Graphics.DrawImage(headerImage,width / 47 48 } 49 } 谢谢浏览! ? (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |