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