700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > java实现pdf添加水印功能

java实现pdf添加水印功能

时间:2018-09-06 14:10:48

相关推荐

java实现pdf添加水印功能

1.引入pom文件

<dependency><groupId>com.itextpdf</groupId><artifactId>itextpdf</artifactId><version>5.5.8</version></dependency><!-- /artifact/com.itextpdf/itext-asian --><dependency><groupId>com.itextpdf</groupId><artifactId>itext-asian</artifactId><version>5.5.8</version></dependency>

2.编写pdf水印工具类

package mon.watermark;import com.itextpdf.text.BaseColor;import com.itextpdf.text.Element;import com.itextpdf.text.pdf.*;import java.io.FileOutputStream;//import org.junit.Test;public class PdfWaterMark {public static void addWaterMark(String srcPdfPath,String tarPdfPath,String WaterMarkContent)throws Exception {PdfReader reader = new PdfReader(srcPdfPath);PdfStamper stamper = new PdfStamper(reader, new FileOutputStream(tarPdfPath));PdfGState gs = new PdfGState();BaseFont font = BaseFont.createFont("STSong-Light","UniGB-UCS2-H", BaseFont.NOT_EMBEDDED);gs.setFillOpacity(0.4f);// 设置透明度int total = reader.getNumberOfPages() + 1;PdfContentByte content;for (int i = 1; i < total; i++) {content = stamper.getOverContent(i);content.beginText();content.setGState(gs);content.setColorFill(BaseColor.DARK_GRAY); //水印颜色content.setFontAndSize(font, 56); //水印字体样式和大小content.showTextAligned(Element.ALIGN_CENTER,WaterMarkContent, 300, 300, 30); //水印内容和水印位置content.endText();}stamper.close();System.out.println("PDF水印添加完成!");}}

3.调用工具类

PdfWaterMark pwm=new PdfWaterMark();String FileName=urlOfd.substring(urlOfd.lastIndexOf("/")+1);String baseSrcUrl=this.preAbsoluteUrl +urlOfd.substring(urlOfd.lastIndexOf("upload")-1,urlOfd.lastIndexOf("/"))+"/"+FileName;String baseOutUrl = this.preAbsoluteUrl +"\\waterMark"+urlOfd.substring(urlOfd.lastIndexOf("/"));try {pwm.addWaterMark(baseSrcUrl, baseOutUrl,username);msg = "success";} catch (Exception e1) {e1.printStackTrace();}

4.添加水印效果如下

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。