前言
最近因为工作需要,要批量在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();
}
|
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对服务器之家的支持。