页眉常用于显示文档的附加信息,我们可以在页眉中插入文本或者图形,例如,页码、日期、公司徽标、文档标题、文件名或作者名等等。那么我们如何以编程的方式添加页眉呢?今天,这篇文章向大家分享如何使用了免费组件Free Spire.PDF给PDF文档添加文本和图片页眉。这个组件提供了一些方法,可以帮助我们快速方便地实现此目的。
添加页眉步骤:
首先,创建一个Visual C#控制台项目,添加组件引用并使用以下命名空间。
在下列代码中,我们先定义一个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);
pdfpageBase page = doc.Pages.Add(); doc.Pages.Add();
第五步:保存并打开文档。
全部代码:
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:\Users\Administrator\Pictures\under_construction.jpg43 headerImage.Width; 44 headerImage.Height; 45 PointF pageLeftTop = 46 topSpace.Graphics.DrawImage(headerImage,width / 47 48 } 49 }
谢谢浏览!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。