利用C#如何給PDF文檔添加文本與圖片頁(yè)眉
前言
下面這篇文章向大家分享如何使用了免費(fèi)組件Free Spire.PDF給PDF文檔添加文本和圖片頁(yè)眉。這個(gè)組件提供了一些方法,可以幫助我們快速方便地實(shí)現(xiàn)此目的。
添加頁(yè)眉步驟:
首先,創(chuàng)建一個(gè)Visual C#控制臺(tái)項(xiàng)目,添加組件引用并使用以下命名空間。
using System; using System.Drawing; using Spire.Pdf; using Spire.Pdf.Graphics;
在下列代碼中,我們先定義一個(gè)SetDocumentTemplate()方法來(lái)創(chuàng)建一個(gè)PDF文檔模板,這個(gè)模板只包含文本和圖片頁(yè)眉。然后,調(diào)用DrawString(string s, PdfFontBase font, PdfBrush brush, float x, float y, PdfStringFormat format)方法和DrawImage(PdfImage image, float x, float y, float width, float height)方法,插入自定義的文本和圖片頁(yè)眉。
static void SetDocumentTemplate(PdfDocument doc, SizeF pageSize, PdfMargins margin)
{
//創(chuàng)建PDF模板
PdfPageTemplateElement topSpace = new PdfPageTemplateElement(pageSize.Width, margin.Top);
topSpace.Foreground = true;
doc.Template.Top = topSpace;
//添加文本頁(yè)眉
PdfTrueTypeFont font1 = new PdfTrueTypeFont(new Font("宋體", 15f), true);
PdfStringFormat format = new PdfStringFormat(PdfTextAlignment.Right);
String Text = "PDF文本頁(yè)眉";
float y = 0;
float x = PdfPageSize.A4.Width;
topSpace.Graphics.DrawString(Text, font1, PdfBrushes.PaleVioletRed, x, y, format);
//添加圖片頁(yè)眉
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);
}
接下來(lái)再創(chuàng)建一個(gè)PDF文檔,主函數(shù)內(nèi)調(diào)用SetDocumentTemplate()方法將帶有文本和圖片頁(yè)眉的模板應(yīng)用到新建的PDF文檔中。
具體步驟:
第一步:創(chuàng)建一個(gè)PDF文檔對(duì)象。
PdfDocument doc = new PdfDocument();
第二步:設(shè)置頁(yè)邊距。
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文檔中應(yīng)用模板。
SetDocumentTemplate(doc, PdfPageSize.A4, margin);
第四步:PDF文檔添加頁(yè)面。
PdfPageBase page = doc.Pages.Add(); doc.Pages.Add();
第五步:保存并打開(kāi)文檔。
doc.SaveToFile("頁(yè)眉.pdf");
System.Diagnostics.Process.Start("頁(yè)眉.pdf");
添加頁(yè)眉后的效果圖:

全部代碼:
using System;
using Spire.Pdf;
using System.Drawing;
using Spire.Pdf.Graphics;
namespace PDF添加頁(yè)眉
{
class Program
{
static void Main(string[] args)
{
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;
SetDocumentTemplate(doc, PdfPageSize.A4, margin);
PdfPageBase page = doc.Pages.Add();
doc.Pages.Add();
doc.SaveToFile("頁(yè)眉.pdf");
System.Diagnostics.Process.Start("頁(yè)眉.pdf");
}
static void SetDocumentTemplate(PdfDocument doc, SizeF pageSize, PdfMargins margin)
{
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文本頁(yè)眉";
float y = 0;
float x = PdfPageSize.A4.Width;
topSpace.Graphics.DrawString(Text, font1, PdfBrushes.PaleVioletRed, x, y, format);
PdfImage headerImage = PdfImage.FromFile(@"C:\Users\Administrator\Pictures\under_construction.jpg");
float width = headerImage.Width;
float height = headerImage.Height;
PointF pageLeftTop = new PointF(0, 0);
topSpace.Graphics.DrawImage(headerImage, 0, 0, width / 2, height / 2);
}
}
}
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家學(xué)習(xí)或者使用C#能帶來(lái)一定的幫助,如果有疑問(wèn)大家可以留言交流,謝謝大家對(duì)腳本之家的支持。
相關(guān)文章
Unity的IPreprocessBuildWithReport實(shí)用案例深入解析
這篇文章主要為大家介紹了Unity的IPreprocessBuildWithReport實(shí)用案例深入解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-05-05
解析錯(cuò)誤富文本json字符串(帶雙引號(hào))的快速解決方法
下面小編就為大家?guī)?lái)一篇解析錯(cuò)誤富文本json字符串(帶雙引號(hào))的快速解決方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-08-08
Winform讓DataGridView左側(cè)顯示圖片
本文主要介紹在如何讓DataGridView左側(cè)顯示圖片,這里主要講解重寫(xiě)DataGridView的OnRowPostPaint方法,需要的朋友可以參考下。2016-05-05
WPF仿LiveCharts實(shí)現(xiàn)餅圖的繪制
這篇文章主要介紹了如何利用WPF仿LiveCharts實(shí)現(xiàn)餅圖的繪制,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)或工作有一定幫助,需要的可以參考一下2022-07-07

