C#給PDF文件添加水印
本文實(shí)例為大家分享了C#添加PDF文件水印的具體代碼,供大家參考,具體內(nèi)容如下
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using iTextSharp.text.html.simpleparser; using iTextSharp.text.pdf; using iTextSharp.text; using System.IO; using System.Web.UI.HtmlControls; using System.Drawing; //itextsharp.dll version:5.1.10 protected void Button1_Click(object sender, EventArgs e) { string source =@"D:\My.Sample\C#NET\Exoport2PDF\Web2\Chap1011.pdf"; //模板路徑 string output = @"D:\My.Sample\C#NET\Exoport2PDF\Web2\Chap1012.pdf"; //導(dǎo)出水印背景后的PDF string watermark = @"D:\My.Sample\C#NET\Exoport2PDF\Web2\gp0.jpg"; // 水印圖片 bool isSurrcess = PDFWatermark(source, output, watermark, 10, 10); } public bool PDFWatermark(string inputfilepath, string outputfilepath, string ModelPicName, float top, float left) { //throw new NotImplementedException(); PdfReader pdfReader = null; PdfStamper pdfStamper = null; try { pdfReader = new PdfReader(inputfilepath); int numberOfPages = pdfReader.NumberOfPages; iTextSharp.text.Rectangle psize = pdfReader.GetPageSize(1); float width = psize.Width; float height = psize.Height; pdfStamper = new PdfStamper(pdfReader, new FileStream(outputfilepath, FileMode.Create)); PdfContentByte waterMarkContent; iTextSharp.text.Image image = iTextSharp.text.Image.GetInstance(ModelPicName); image.GrayFill = 20;//透明度,灰色填充 //image.Rotation//旋轉(zhuǎn) //image.RotationDegrees//旋轉(zhuǎn)角度 //水印的位置 if (left < 0) { left = width - image.Width + left; } image.SetAbsolutePosition(left, (height - image.Height) - top); //每一頁(yè)加水印,也可以設(shè)置某一頁(yè)加水印 for (int i = 1; i <= numberOfPages; i++) { waterMarkContent = pdfStamper.GetUnderContent(i); waterMarkContent.AddImage(image); } //strMsg = "success"; return true; } catch (Exception ex) { ex.Message.Trim(); return false; } finally { if (pdfStamper != null) pdfStamper.Close(); if (pdfReader != null) pdfReader.Close(); }
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Visual Studio連接unity編輯器的實(shí)現(xiàn)步驟
unity編輯器中打開(kāi)C#腳本的時(shí)候發(fā)現(xiàn)Visual Studio沒(méi)有連接unity編輯器,本文主要介紹了Visual Studio連接unity編輯器的實(shí)現(xiàn)步驟,感興趣的可以了解一下2023-11-11讀寫(xiě)XML文件的內(nèi)容并將其顯示在ListView控件上的方法
下面小編就為大家?guī)?lái)一篇讀寫(xiě)XML文件的內(nèi)容并將其顯示在ListView控件上的方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-02-02使用GetInvalidFileNameCharts生成文件名
這篇文章主要介紹了一個(gè)很實(shí)用的函數(shù)Path.GetInvalidFileNameCharts(),他可以很方便的生成一個(gè)有效的文件名稱(chēng)2014-01-01基于C# 寫(xiě)一個(gè) Redis 數(shù)據(jù)同步小工具
Redis支持主從同步。數(shù)據(jù)可以從主服務(wù)器向任意數(shù)量的從服務(wù)器上同步,從服務(wù)器可以是關(guān)聯(lián)其他從服務(wù)器的主服務(wù)器。這篇文章主要介紹了用 C# 寫(xiě)一個(gè) Redis 數(shù)據(jù)同步小工具,需要的朋友可以參考下2020-02-02C# 刪除數(shù)組內(nèi)的某個(gè)值、一組值方法詳解
在本篇文章里小編給大家整理的是關(guān)于C# 如何刪除數(shù)組內(nèi)的某個(gè)值、一組值的相關(guān)知識(shí)點(diǎn),需要的朋友們學(xué)習(xí)下。2020-03-03Unity UGUI實(shí)現(xiàn)簡(jiǎn)單拖拽圖片功能
這篇文章主要為大家詳細(xì)介紹了Unity UGUI實(shí)現(xiàn)簡(jiǎn)單拖拽圖片功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-06-06C#單例模式(Singleton Pattern)實(shí)例教程
這篇文章主要介紹了C#單例模式(Singleton Pattern)的實(shí)現(xiàn)方法,主要講述了即時(shí)加載的單例模式、延遲加載的單例模式與線程安全的單例模式,需要的朋友可以參考下2014-09-09