C# 給PDF文件添加水印


  水印種類及功能介紹

    PDF水印分為兩種:文本水印和圖片水印。文本水印一般被用在商業領域,提醒讀者該文檔是受版權保護的,其他人不能抄襲或者免費使用。除了這個特征,水印還可以用來標記這個文檔的一些基本狀態信息,例如是草稿狀態還是最終版本?圖片水印是美化PDF文件的一個很好的選擇,它可以用多彩的、獨特的圖片來作為PDF文件的背景。那么,怎樣用編程的方式給PDF文件添加水印呢?有很多種實現方法,其中一種最快最容易的辦法也許是用第三方軟件,例如Spire.PDF。本文會闡述怎樣用免費的第三方軟件Spire.PDF來給PDF文件添加文本水印和圖片水印。

免費版Spire.PDF軟件介紹

    免費版Spire.PDF軟件是一款免費的獨立的PDF控件,它提供給編程者一系列豐富的PDF功能,例如讀,寫,新建,編輯,操作和通過C#或VB.NET轉化PDF文件等。請注意,免費版僅支持10頁的PDF文件和三頁的轉換功能。

如何得到?

    首先,請從E-iceblue website網站上下載並安裝Spire.PDF。安裝完成后,你就可以利用“SampleCenter”和界面幫助快速開始了,其中有很多代碼片段和詳細的應用程序功能介紹。

下面就列舉一些怎樣給PDF文件添加圖片水印和文本水印的代碼片段。我把它分為兩部分。一部分是圖片水印,另一部分是文本水印。 

 

第一部分:添加圖片水印

    首先,准備一張你想設置為PDF文件水印的圖片。其次,我們只需要調用Image.FromFile(stringfilename)方法來加載圖片,非常簡單、方便。然后,設置PDF圖片背景。

代碼如下:

步驟1:創建一個新的PDF實例。然后導入PDF文件 

PdfDocument pdf = new PdfDocument();  
pdf.LoadFromFile("sample.pdf");

步驟2:獲取PDF文件的第一頁 

PdfPageBase page = pdf.Pages[0];

步驟3:導入圖片並把它設置為PDF文件的背景

Image img = Image.FromFile("img.jpg");  
page.BackgroundImage = img;

步驟4:保存文件為PDF格式,命名為"ImageWaterMark.pdf"

pdf.SaveToFile("ImageWaterMark.pdf");

添加了圖片水印的效果圖如下: 


圖片 1: 圖片水印

 

第二部分:添加文本水印

    和添加圖片水印不同的是,添加文本水印更為復雜。為了最好的匹配PDF頁面,我們需要在PDF中制作出水印文本,然后設置文本的字體,顏色,位置和文本格式。以上兩種功能均可以通過調用這種方法來快速實現:DrawString(strings, PdfFontBase font, PdfBrush brush, float x, float y, PdfStringFormat format).下面是代碼片段: 

步驟1:創建一個新的PDF實例。然后導入PDF文件。 

PdfDocument pdf= new PdfDocument();
pdf.LoadFromFile("sample.pdf");

步驟2:獲取PDF文件的第一頁

PdfPageBase page = pdf.Pages[0];

步驟3:添加文本水印到文件的第一頁,設置文本格式

PdfTilingBrush brush = new PdfTilingBrush(new SizeF(page.Canvas.ClientSize.Width / 2, page.Canvas.ClientSize.Height / 3));  
brush.Graphics.SetTransparency(0.3f);  
brush.Graphics.Save();  
brush.Graphics.TranslateTransform(brush.Size.Width / 2, brush.Size.Height / 2);  
brush.Graphics.RotateTransform(-45);  
brush.Graphics.DrawString("Draft Version", new PdfFont(PdfFontFamily.Helvetica, 24), PdfBrushes.Blue,0, 0, new PdfStringFormat(PdfTextAlignment.Center));  
brush.Graphics.Restore();  
brush.Graphics.SetTransparency(1);  
page.Canvas.DrawRectangle(brush, new RectangleF(new PointF(0, 0), page.Canvas.ClientSize));

步驟4:保存文件為PDF格式,命名為"TextWaterMark.pdf"

pdf.SaveToFile("TextWaterMark.pdf");
添加了文本水印的效果圖如下:


圖片 2: 文本水印

 

總結

 

    雖然有很多文章介紹了不用第三方軟件就可以用編程的方式來添加水印的方法,但這里我仍然使用了免費版的Spire.PDF軟件,因為除了水印功能以外,我還需要使用新建,轉換,打印和保護PDF等功能,而這個軟件全部支持這些功能。它工作的很好,並且大大的提高了我的工作效率。如果你也感興趣的話,不妨試試它。

    感謝您的瀏覽,希望本文能給您帶來一定的幫助。

關於C#添加PDF水印的更多內容,可點擊鏈接查看視頻方法講解:

http://v.youku.com/v_show/id_XNDAyNzg0ODY5Mg==.html?spm=a2hzp.8244740.0.0


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM