时间:2020-11-27 11:36:11 | 栏目:JAVA代码 | 点击:次
前言
最近因为工作需要,要批量在pdf上加水印,但找了一圈pdf在mac下的水印工具,都不太好用,索性就用java写一个吧。
以下代码依赖itext5.3.3包,java操作pdf 依靠itext5.3.3。
示例代码
//读取原来的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(); }
总结