欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

利用C#如何給PDF文檔添加文本與圖片頁眉

 更新時(shí)間:2017年01月05日 15:46:27   作者:Yesi  
頁眉常用于顯示文檔的附加信息,我們可以在頁眉中插入文本或者圖形,例如,頁碼、日期、公司徽標(biāo)、文檔標(biāo)題、文件名或作者名等等。那么我們?nèi)绾我跃幊痰姆绞教砑禹撁寄兀窟@篇文章主要介紹了利用C#如何給PDF文檔添加文本與圖片頁眉的相關(guān)資料,需要的朋友可以參考下

前言

下面這篇文章向大家分享如何使用了免費(fèi)組件Free Spire.PDF給PDF文檔添加文本和圖片頁眉。這個(gè)組件提供了一些方法,可以幫助我們快速方便地實(shí)現(xiàn)此目的。

添加頁眉步驟:

首先,創(chuàng)建一個(gè)Visual C#控制臺(tái)項(xiàng)目,添加組件引用并使用以下命名空間。

using System;
using System.Drawing;
using Spire.Pdf;
using Spire.Pdf.Graphics;

在下列代碼中,我們先定義一個(gè)SetDocumentTemplate()方法來創(chuàng)建一個(gè)PDF文檔模板,這個(gè)模板只包含文本和圖片頁眉。然后,調(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)方法,插入自定義的文本和圖片頁眉。

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)建一個(gè)PDF文檔,主函數(shù)內(nèi)調(diào)用SetDocumentTemplate()方法將帶有文本和圖片頁眉的模板應(yīng)用到新建的PDF文檔中。

具體步驟:

第一步:創(chuàng)建一個(gè)PDF文檔對(duì)象。

PdfDocument doc = new PdfDocument();

第二步:設(shè)置頁邊距。

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文檔添加頁面。

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);
 }
 }
}

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對(duì)大家學(xué)習(xí)或者使用C#能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對(duì)腳本之家的支持。

相關(guān)文章

  • C#?webApi創(chuàng)建與發(fā)布、部署、api調(diào)用詳細(xì)教程

    C#?webApi創(chuàng)建與發(fā)布、部署、api調(diào)用詳細(xì)教程

    這篇文章主要給大家介紹了關(guān)于C#?webApi創(chuàng)建與發(fā)布、部署、api調(diào)用的相關(guān)資料,WebApi是微軟在VS2012?MVC4版本中綁定發(fā)行的,WebApi是完全基于Restful標(biāo)準(zhǔn)的框架,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2023-12-12
  • C#用匿名方法定義委托的實(shí)現(xiàn)方法

    C#用匿名方法定義委托的實(shí)現(xiàn)方法

    這篇文章主要介紹了C#用匿名方法定義委托的實(shí)現(xiàn)方法,涉及C#匿名方法與委托的相關(guān)使用技巧,需要的朋友可以參考下
    2015-06-06
  • C#簡單實(shí)現(xiàn)表達(dá)式目錄樹(Expression)

    C#簡單實(shí)現(xiàn)表達(dá)式目錄樹(Expression)

    表達(dá)式目錄樹以數(shù)據(jù)形式表示語言級(jí)別代碼。數(shù)據(jù)存儲(chǔ)在樹形結(jié)構(gòu)中。表達(dá)式目錄樹中的每個(gè)節(jié)點(diǎn)都表示一個(gè)表達(dá)式。這篇文章給大家介紹C#簡單實(shí)現(xiàn)表達(dá)式目錄樹(Expression),需要的朋友參考下吧
    2017-11-11
  • C#使用符號(hào)表實(shí)現(xiàn)查找算法

    C#使用符號(hào)表實(shí)現(xiàn)查找算法

    本文詳細(xì)講解了C#使用符號(hào)表實(shí)現(xiàn)查找算法,文中通過示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-04-04
  • C#使用XSLT實(shí)現(xiàn)xsl、xml與html相互轉(zhuǎn)換

    C#使用XSLT實(shí)現(xiàn)xsl、xml與html相互轉(zhuǎn)換

    這篇文章介紹了C#使用XSLT實(shí)現(xiàn)xsl、xml與html相互轉(zhuǎn)換的方法,文中通過示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-06-06
  • C#程序最小化到托盤圖標(biāo)操作步驟與實(shí)現(xiàn)代碼

    C#程序最小化到托盤圖標(biāo)操作步驟與實(shí)現(xiàn)代碼

    設(shè)置窗體屬性showinTask=false;加notifyicon控件notifyIcon1,為控件notifyIcon1的屬性Icon添加一個(gè)icon圖標(biāo);添加窗體最小化事件(首先需要添加事件引用)接下來介紹實(shí)現(xiàn)代碼,感興趣的朋友可以研究下
    2012-12-12
  • c#程序定期把內(nèi)存信息記錄到log日志示例

    c#程序定期把內(nèi)存信息記錄到log日志示例

    這篇文章主要介紹了c#程序定期把內(nèi)存信息記錄到log日志示例,需要的朋友可以參考下
    2014-04-04
  • 基于C#解決庫存扣減及訂單創(chuàng)建時(shí)防止并發(fā)死鎖的問題

    基于C#解決庫存扣減及訂單創(chuàng)建時(shí)防止并發(fā)死鎖的問題

    這篇文章主要介紹了基于C#解決庫存扣減及訂單創(chuàng)建時(shí)防止并發(fā)死鎖的問題,很多開發(fā)人員對(duì)于這個(gè)問題的排查起來是比較困難的,而生產(chǎn)生的原因多種多樣,很多人認(rèn)是因?yàn)楸碇械臄?shù)據(jù)太多了同時(shí)操作的人多人才會(huì)產(chǎn)生這種錯(cuò)誤,下面我們來還原一下死鎖的過程
    2022-05-05
  • C# 線程同步的方法

    C# 線程同步的方法

    這篇文章主要介紹了C# 線程同步的方法,文中講解非常細(xì)致,代碼幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下
    2020-08-08
  • Unity3D Shader實(shí)現(xiàn)掃描顯示效果(2)

    Unity3D Shader實(shí)現(xiàn)掃描顯示效果(2)

    這篇文章主要為大家詳細(xì)介紹了Unity3D Shader實(shí)現(xiàn)掃描顯示效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-03-03

最新評(píng)論