c给PDF所有页加上文字水印
给一个PDF的所有页加上文字水印,效果如下
新建一个项目,直接上代码了:using iTextSharp.text; using iTextSharp.text.pdf; using System; using System.IO; using System.Windows.Forms; namespace _111 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { string p = Application.StartupPath + ""; string r = AddTextShuiYin(p + "test.pdf", p + "test1.pdf", 0.5f, "HELLO"); MessageBox.Show(r); } public static string AddTextShuiYin(string PdfPath, string OutPdfPath, float toumingdu, string ShuiYinText) { if (File.Exists(OutPdfPath)) { File.Delete(OutPdfPath); } PdfReader reader = null; PdfStamper ShuiYinOBJ = null; PdfContentByte ShuiYinQu; try { reader = new PdfReader(PdfPath); //得到原PDF的页数和宽高 PDFATT att = new PDFATT(PdfPath); int n = att.PageCount(); float w = att.Width(); float h = att.Height(); //从第0页开始 int i = 0; ShuiYinOBJ = new PdfStamper(reader, new FileStream(OutPdfPath, FileMode.Create)); PdfGState gs = new PdfGState(); //设置透明度 gs.FillOpacity = toumingdu; BaseFont font = BaseFont.CreateFont(@"C:WINDOWSFontsSIMFANG.TTF", BaseFont.IDENTITY_H, BaseFont.EMBEDDED); while (i < n) { i++; //在正文内容下加水印,不挡内容 ShuiYinQu = ShuiYinOBJ.GetUnderContent(i); //在正文内容上加水印,挡内容 //ShuiYinQu = ShuiYinOBJ.GetOverContent(i); ShuiYinQu.SetGState(gs); for (float left = 0; left < w; left += 200) { for (float top = 0; top < h; top += 100) { //透明度 gs.FillOpacity = toumingdu; ShuiYinQu.SetGState(gs); //开始写入文本 ShuiYinQu.BeginText(); ShuiYinQu.SetColorFill(iTextSharp.text.Color.RED); ShuiYinQu.SetFontAndSize(font, 180); ShuiYinQu.SetTextMatrix(2, 2); ShuiYinQu.ShowTextAligned(Element.ALIGN_CENTER, ShuiYinText, w / 2, h / 2, 30); //ShuiYinQu.AddImage(im); } } ShuiYinQu.EndText(); } ShuiYinOBJ.Close(); reader.Close(); return "OK"; } catch (Exception ex) { return ex.ToString(); } } class PDFATT { PdfReader reader; public PDFATT(string iPdfFilePath) { reader = new PdfReader(iPdfFilePath); } public int PageCount() { return reader.NumberOfPages; } public float Width() { return reader.GetPageSize(1).Width; } public float Height() { return reader.GetPageSize(1).Height; } } } }调用方法说明
string p = Application.StartupPath + "";
//参数:源文件地址,新文件地址,透明度(float型),水印文本
string r = AddTextShuiYin(p + "test.pdf", p + "test1.pdf", 0.5f, "HELLO");
MessageBox.Show(r);水印位置
//这里我是w/2和h/2,大概在页中间,当然这里我为了演示没有精确计算,
//30 是旋转角度
ShuiYinQu.ShowTextAligned(Element.ALIGN_CENTER, ShuiYinText, w / 2, h / 2, 30);下次研究下加图片水印
她结婚了,她终于结婚了,知道她是谁吗?娱乐聚焦她出生于台湾省新竹县竹北市,华语影视女演员主持人歌手。图片来自网络侵删2001年9月23日,正式出道并于同年出演个人首部影视剧薰衣草,2002年,凭借旅游节目中国那么大在台
TFBOYS的帝国时代,无可复制,无法超越TFBOYS的帝国时代TFBOYS半工半读就已经是顶流了,TFBOYS多次作为优秀青年代表在联合国发言,你不得不承认TFBOYS是内娱最成功的一个组合。TFBOYS开创了一个属于他
装了这6款app,手机秒变黑科技,爱了爱了大家知道有什么好用的手机app吗?今天我分享给大家6款实用且强大的app,让手机秒变黑科技,一起来看看吧!1。罐头日记这是一个用来记录生活的app,如果你喜欢写日记,那你可以在这里
3月交付量公布!单车售价达33。5万元,吉利高端化就靠极氪了?抢先一步,极氪品牌先行公布了其在3月份的交付量情况。官方数据显示,极氪001在3月交付量为1795辆。如此,自去年10月底到3月31日,极氪001共计交付了14248辆,算下来平均
一杯不要错过的好茶易武弯弓一说到易武茶,很多茶友都会觉得,有点柔?今天就给大家推荐一款带有山野气息的普洱茶易武弯弓。弯弓是易武顶级茶代表之一,是云南古曼撒茶区核心产地。易武弯弓现属于西双版纳勐腊县易武乡七村
防火于未燃,这些事项要牢记清明节即将来临,扫墓祭祖场所旅游风景区人流密集,焚香烧纸燃放鞭炮活动频繁,森林火灾需高度警惕。建议尽量选择献花祭拜网络祭祀等无烟火文明祭祀方式,表达自己对亲人的哀思与牵挂,严防祭祀
北京又一景点走红,适合清明节溜娃拍照,而且它是昔日废弃矿山北京一年四季的气候鲜明,夏天三伏天也会比较热,而冬天三九天会比较冷。尽管如此,但是夏天的热也比不上南方的热,南方武汉苏州上海成都,热是蒸桑拿的热,没有一丝丝凉风,北京至少晚上会有缕
玉渊潭门票已售罄!11万市民北京各大公园觅春,游园先预约今天是清明假期第一天,记者从北京市公园管理中心获悉,截至上午10时,11家市属公园累计入园游客11。4万人,热门景区玉渊潭公园今日门票已售罄,明日门票预约量已达80。颐和园天坛北京
候鸟北归的四月,请查收这份北京观鸟指南早春四月,候鸟北迁。大量的候鸟沿着西山燕山山脉进行迁徙,吸引众多观鸟爱好者。恰逢清明小长假,不妨和家人一起,与成群的候鸟一期一会。JNEGroup集团旗下品牌最世界日前携手国际爱护
女人早上做好这三不要,年纪大了不显老女人为什么比男人老得更快一些呢?因为结婚以后,女人和男人的处境完全不一样,男人有了女人,什么都有了,还有了免费的保姆,而女人有了男人,什么都没有,还多了一个祖宗。所以,学会保养是女
熬夜等于慢性自杀随着生活压力的增大,越来越多的人无法在十一点之前入睡。还有的人呢,则是因为现在科技发达,晚上会因为一些网络上的信息而难以入眠。那么长期晚上12点以后睡觉,会对身体造成什么影响呢?一