C#如何給PDF文件添加水印
水印種類及功能介紹
PDF水印分為兩種:文本水印和圖片水印。文本水印一般被用在商業(yè)領(lǐng)域,提醒讀者該文檔是受版權(quán)保護(hù)的,其他人不能抄襲或者免費使用。除了這個特征,水印還可以用來標(biāo)記這個文檔
的一些基本狀態(tài)信息,例如是草稿狀態(tài)還是最終版本?圖片水印是美化PDF文件的一個很好的選擇,它可以用多彩的、獨特的圖片來作為PDF文件的背景。那么,怎樣用編程的方式給PDF文件
添加水印呢?有很多種實現(xiàn)方法,其中一種最快最容易的辦法也許是用第三方軟件,例如Spire.PDF。本文會闡述怎樣用免費的第三方軟件Spire.PDF來給PDF文件添加文本水印和圖片水印。
免費版Spire.PDF軟件介紹
免費版Spire.PDF軟件是一款免費的獨立的PDF控件,它提供給編程者一系列豐富的PDF功能,例如讀,寫,新建,編輯,操作和通過C#或VB.NET轉(zhuǎn)化PDF文件等。請注意,免費版僅支
持10頁的PDF文件和三頁的轉(zhuǎn)換功能。
如何得到?
首先,請從E-iceblue website網(wǎng)站上下載并安裝Spire.PDF。安裝完成后,你就可以利用“SampleCenter”和界面幫助快速開始了,其中有很多代碼片段和詳細(xì)的應(yīng)用程序功能介紹。
下面就列舉一些怎樣給PDF文件添加圖片水印和文本水印的代碼片段。我把它分為兩部分。一部分是圖片水印,另一部分是文本水印。
第一部分:添加圖片水印
首先,準(zhǔn)備一張你想設(shè)置為PDF文件水印的圖片。其次,我們只需要調(diào)用Image.FromFile(stringfilename)方法來加載圖片,非常簡單、方便。然后,設(shè)置PDF圖片背景。
代碼如下:
步驟1:創(chuàng)建一個新的PDF實例。然后導(dǎo)入PDF文件
PdfDocument pdf = new PdfDocument(); pdf.LoadFromFile("sample.pdf");
步驟2:獲取PDF文件的第一頁
PdfPageBase page = pdf.Pages[0];
步驟3:導(dǎo)入圖片并把它設(shè)置為PDF文件的背景
Image img = Image.FromFile("img.jpg"); page.BackgroundImage = img;
步驟4:保存文件為PDF格式,命名為"ImageWaterMark.pdf"
pdf.SaveToFile("ImageWaterMark.pdf");
添加了圖片水印的效果圖如下:
圖片 1: 圖片水印
第二部分:添加文本水印
和添加圖片水印不同的是,添加文本水印更為復(fù)雜。為了最好的匹配PDF頁面,我們需要在PDF中制作出水印文本,然后設(shè)置文本的字體,顏色,位置和文本格式。以上兩種功能均可以通
過調(diào)用這種方法來快速實現(xiàn):DrawString(strings, PdfFontBase font, PdfBrush brush, float x, float y, PdfStringFormat format).下面是代碼片段:
步驟1:創(chuàng)建一個新的PDF實例。然后導(dǎo)入PDF文件。
PdfDocument pdf= new PdfDocument(); pdf.LoadFromFile("sample.pdf");
步驟2:獲取PDF文件的第一頁
PdfPageBase page = pdf.Pages[0];
步驟3:添加文本水印到文件的第一頁,設(shè)置文本格式
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: 文本水印
總結(jié)
雖然有很多文章介紹了不用第三方軟件就可以用編程的方式來添加水印的方法,但這里我仍然使用了免費版的Spire.PDF軟件,因為除了水印功能以外,我還需要使用新建,轉(zhuǎn)換,打印和
保護(hù)PDF等功能,而這個軟件全部支持這些功能。它工作的很好,并且大大的提高了我的工作效率。如果你也感興趣的話,不妨試試它。
感謝您的瀏覽,希望本文能給您帶來一定的幫助。
相關(guān)文章
C#影院售票系統(tǒng)畢業(yè)設(shè)計(4)
這篇文章主要介紹了C#影院售票系統(tǒng)畢業(yè)設(shè)計,學(xué)習(xí)內(nèi)容是總結(jié)銷售信息的保存以及加載銷售信息,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2015-11-11