代码:
/// <summary> /// 添加普通偏转角度文字水印 </summary> public static void SetWatermark(string filePath,string text) { PdfReader pdfReader = null; pdfstamper pdfstamper = ; string tempPath = Path.GetDirectoryName(filePath) + Path.GetFileNameWithoutExtension(filePath) + "_temp.pdf"; try { pdfReader = new PdfReader(filePath); pdfstamper = new pdfstamper(pdfReader,1)"> FileStream(tempPath,FileMode.Create)); int total = pdfReader.NumberOfPages + 1; iTextSharp.text.Rectangle psize = pdfReader.GetPageSize(); float width = psize.Width; float height = psize.Height; PdfContentByte content; BaseFont font = BaseFont.CreateFont(@"C:\WINDOWS\Fonts\SIMFANG.TTF,BaseFont.IDENTITY_H,BaseFont.EMbedDED); PdfGState gs = PdfGState(); for (int i = 1; i < total; i++) { content = pdfstamper.GetoverContent(i);//在内容上方加水印 content = pdfstamper.GetUnderContent(i);在内容下方加水印 透明度 gs.FillOpacity = 0.3f; content.SetGState(gs); content.SetGrayFill(0.3f); 开始写入文本 content.BeginText(); content.SetColorFill(BaseColor.GRAY); content.SetFontAndSize(font,30); content.SetTextMatrix(0,0); content.showtextAligned(Element.ALIGN_CENTER,text,width - 120,height - 45); content.SetColorFill(BaseColor.BLACK); content.SetFontAndSize(font,8); content.showtextAligned(Element.ALIGN_CENTER,waterMarkName,0); content.EndText(); } } catch (Exception ex) { throw ex; } finally { if (pdfstamper != ) pdfstamper.Close(); if (pdfReader != ) pdfReader.Close(); System.IO.File.copy(tempPath,filePath,true); System.IO.File.Delete(tempPath); } }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。