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