C#添加PDF页眉——添加文本、图片到页眉

如果你不相信努力和时光,那么成果就会是第一个选择辜负你的。不要去否定你自己的过去,也不要用你的过去牵扯你现在的努力和对未来的展望。不是因为拥有希望你才去努力,而是去努力了,你才有可能看到希望的光芒。C#添加PDF页眉——添加文本、图片到页眉,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源:原文

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

添加页眉后的效果图:

C#添加PDF页眉——添加文本、图片到页眉

全部代码:

C#添加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

谢谢浏览!

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/209525.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!