《————————————————————————————————————————————代码——————————————————————————————————————————————————————》 //读取pdf(PdfReader中有一个构造方法可以直接转入字节数组) PdfReader reader=new PdfReader("D:/1.pdf"); //创建字节数组输出流 ByteArrayOutputStream ous =new ByteArrayOutputStream(); // 创建字节缓冲输出流 BufferedOutputStream bos = new BufferedOutputStream(ous); //创建PdfStamper对象 PdfStamper stamper = new PdfStamper(reader,bos); int total = reader.getNumberOfPages() + 1; PdfContentByte content; //设置字体 BaseFont base = BaseFont.createFont("STSong-Light", "UniGB-UCS2-H", BaseFont.EMBEDDED); //设置水印参数的对象 PdfGState gs = new PdfGState(); for (int i = 1; i < total; i++) { content = stamper.getOverContent(i);// 在内容上方加水印 // content = stamper.getUnderContent(i);//在内容下方加水印 gs.setFillOpacity(0.2f); // content.setGState(gs); content.beginText(); content.setColorFill(Color.LIGHT_GRAY); content.setFontAndSize(base, 50); content.setTextMatrix(70, 200); content.showTextAligned(Element.ALIGN_CENTER, "公司内部文件,请注意保密!", 300, 350, 55); content.setColorFill(Color.BLACK); content.setFontAndSize(base, 8); content.showTextAligned(Element.ALIGN_CENTER, "下载时间:" + "111" + "", 300, 10, 0); content.endText(); } stamper.close(); //添加水印后pdf的base64 byte[] bytes = ous.toByteArray(); ous.close(); bos.close(); reader.close();
《—————————————————————————————————————————jar包—————————————————————————————》