利用C#如何給PDF文檔添加文本與圖片頁眉
前言
下面這篇文章向大家分享如何使用了免費組件Free Spire.PDF給PDF文檔添加文本和圖片頁眉。這個組件提供了一些方法,可以幫助我們快速方便地實現(xiàn)此目的。
添加頁眉步驟:
首先,創(chuàng)建一個Visual C#控制臺項目,添加組件引用并使用以下命名空間。
using System; using System.Drawing; using Spire.Pdf; using Spire.Pdf.Graphics;
在下列代碼中,我們先定義一個SetDocumentTemplate()
方法來創(chuàng)建一個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) { //創(chuàng)建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); }
接下來再創(chuàng)建一個PDF文檔,主函數(shù)內調用SetDocumentTemplate()
方法將帶有文本和圖片頁眉的模板應用到新建的PDF文檔中。
具體步驟:
第一步:創(chuàng)建一個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");
添加頁眉后的效果圖:
全部代碼:
using System; using Spire.Pdf; using System.Drawing; using Spire.Pdf.Graphics; namespace PDF添加頁眉 { 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("頁眉.pdf"); System.Diagnostics.Process.Start("頁眉.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文本頁眉"; 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); } } }
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家學習或者使用C#能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對我們的支持。
您可能感興趣的文章
- 01-10Extjs4如何處理后臺json數(shù)據(jù)中日期和時間
- 01-10asp.net中XML如何做增刪改查操作
- 01-10C#利用反射技術實現(xiàn)去掉按鈕選中時的邊框效果
- 01-10C#獲取動態(tài)生成的CheckBox值
- 01-10C#圖片處理3種高級應用
- 01-10C#.NET中如何批量插入大量數(shù)據(jù)到數(shù)據(jù)庫中
- 01-10C#連接數(shù)據(jù)庫的方法
- 01-10C#給圖片添加水印完整實例
- 01-10C#異步下載文件
- 01-10C# Console利用mspaint打開圖像并保存的方法


閱讀排行
本欄相關
- 01-10C#通過反射獲取當前工程中所有窗體并
- 01-10關于ASP網頁無法打開的解決方案
- 01-10WinForm限制窗體不能移到屏幕外的方法
- 01-10WinForm繪制圓角的方法
- 01-10C#實現(xiàn)txt定位指定行完整實例
- 01-10WinForm實現(xiàn)仿視頻 器左下角滾動新
- 01-10C#停止線程的方法
- 01-10C#實現(xiàn)清空回收站的方法
- 01-10C#通過重寫Panel改變邊框顏色與寬度的
- 01-10C#實現(xiàn)讀取注冊表監(jiān)控當前操作系統(tǒng)已
隨機閱讀
- 08-05織夢dedecms什么時候用欄目交叉功能?
- 04-02jquery與jsp,用jquery
- 01-10SublimeText編譯C開發(fā)環(huán)境設置
- 01-10C#中split用法實例總結
- 01-10使用C語言求解撲克牌的順子及n個骰子
- 01-11ajax實現(xiàn)頁面的局部加載
- 08-05dedecms(織夢)副欄目數(shù)量限制代碼修改
- 01-11Mac OSX 打開原生自帶讀寫NTFS功能(圖文
- 08-05DEDE織夢data目錄下的sessions文件夾有什
- 01-10delphi制作wav文件的方法