pdf文件盖章
場景:
最近寫了一個項目,需要給pdf蓋章,同時再加上動態的實施日期在章的旁邊,下面給到蓋章的工具類
需要提供的是蓋章圖片的路徑,寫入的文字信息,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系統字體(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;// 添加一個水印for (int i = 1; i < total; i++) {// 在內容上方加水印under = stamper.getOverContent(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個參數,x坐標,y坐標,角度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();}}?
總結
- 上一篇: ERP项目组员工年度工作总结2010(刘
- 下一篇: 上位机通信标准-OPC