现在的位置: 首页 > 综合 > 正文

用iText给pdf添加水印图片

2013年11月03日 ⁄ 综合 ⁄ 共 873字 ⁄ 字号 评论关闭
 /**
    * 给pdf文件添加水印
    * @param InPdfFile 要加水印的原pdf文件路径
    * @param outPdfFile 加了水印后要输出的路径
    * @param markImagePath 水印图片路径
    * @param pageSize 原pdf文件的总页数(该方法是我当初将数据导入excel中然后再转换成pdf所以我这里的值是用excel的行数计算出来的,如果不是我这种可以	直接用reader.getNumberOfPages()获取pdf的总页数)
    * @throws Exception
    */
   public static void addPdfMark(String InPdfFile, String outPdfFile, String markImagePath, int pageSize) throws Exception {
    
    PdfReader reader = new PdfReader(InPdfFile, "PDF".getBytes());
     
    PdfStamper stamp = new PdfStamper(reader, new FileOutputStream(outPdfFile));
   
    Image img = Image.getInstance(markImagePath);// 插入水印   
 
    img.setAbsolutePosition(150, 100);
    
    for(int i = 1; i <= pageSize; i++) {
     
     PdfContentByte under = stamp.getUnderContent(i);
    
     under.addImage(img);
       
    }
    
    stamp.close();// 关闭 
    
    File tempfile = new File(InPdfFile);
    
    if(tempfile.exists()) {
     
     tempfile.delete();
    }
    
   }

所需jar包iText-2.0.8.jar

抱歉!评论已关闭.