利用java批量给pdf加水印的方法示例

时间:2021-12-22 00:28:45

前言

最近因为工作需要,要批量在pdf加水印,但找了一圈pdf在mac下的水印工具,都不太好用,索性就用java写一个吧。

以下代码依赖itext5.3.3包,java操作pdf 依靠itext5.3.3。

示例代码

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
//读取原来的pdf
PdfReader reader = new PdfReader("/test/" + "1.pdf");
//生成以后的pdf
 PdfStamper stamp = new PdfStamper(reader, new FileOutputStream("/test/" + "createSamplePDF2.pdf"));
 int max = reader.getNumberOfPages();
 //max =2;
 // 文字水印
 for (int i = 1; i <= max; i++) {
 PdfContentByte over = stamp.getOverContent(i);
 over.beginText();
 BaseFont bf = BaseFont.createFont(BaseFont.HELVETICA, BaseFont.WINANSI, BaseFont.EMBEDDED);
 over.setFontAndSize(bf, 16);
 over.setTextMatrix(10, 10);
 over.setColorFill(BaseColor.GRAY);
 over.showTextAligned(Element.ALIGN_LEFT, "java blog java-er.com ", 150,670, 0);
// 0 0 0 表示左下脚 最后一个0是角度,0表示横着 45 表示斜着
 over.endText();
 }
 
 reader.close();
 stamp.close();
 
 }

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对服务器之家的支持。