pdf文件盖章
場(chǎng)景:
最近寫了一個(gè)項(xiàng)目,需要給pdf蓋章,同時(shí)再加上動(dòng)態(tài)的實(shí)施日期在章的旁邊,下面給到蓋章的工具類
需要提供的是蓋章圖片的路徑,寫入的文字信息,pdf文檔路徑,蓋章后的文件路徑
/*** 文件蓋章* @param inputFile* @param outputFile* @param imgPath* @param implementdate*/public void waterMark(String inputFile, String outputFile,URL imgPath, String implementdate) {try {PdfReader reader = new PdfReader(inputFile);PdfStamper stamper = new PdfStamper(reader, new FileOutputStream(outputFile));//使用Windows系統(tǒng)字體(TrueType)BaseFont base = BaseFont.createFont();PdfGState gs = new PdfGState();//改透明度gs.setFillOpacity(0.5f);gs.setStrokeOpacity(0.4f);int total = reader.getNumberOfPages() + 1;JLabel label = new JLabel();label.setText(implementdate);PdfContentByte under;// 添加一個(gè)水印for (int i = 1; i < total; i++) {// 在內(nèi)容上方加水印under = stamper.getOverContent(i);//在內(nèi)容下方加水印//under = stamper.getUnderContent(i);gs.setFillOpacity(0.7f);under.setGState(gs);under.beginText();//改變顏色under.setColorFill(BaseColor.RED);//改水印文字大小under.setFontAndSize(base, 14);under.setTextMatrix(0, 0);//后3個(gè)參數(shù),x坐標(biāo),y坐標(biāo),角度Image image = Image.getInstance(imgPath);Rectangle pageSize = reader.getPageSize(1);float height = pageSize.getHeight();float width = pageSize.getWidth();image.setAbsolutePosition(width / 2 - 20, height - 310); // set the first background// image of the absoluteimage.scaleToFit(450, 380);under.addImage(image);//under.setFontAndSize(base, 30);under.showTextAligned(Element.ALIGN_CENTER, implementdate, width / 2 + 270, height - 215, 0);under.endText();}stamper.close();reader.close();} catch (Exception e) {e.printStackTrace();}}?
總結(jié)
- 上一篇: ERP项目组员工年度工作总结2010(刘
- 下一篇: 上位机通信标准-OPC