开发者社区> 问答> 正文

itext 如何给pdf里的图片上添加水印

想用java的itext自动生成pdf,然后想在pdf里的图片上的不同位置加①②③④等,然后在图片下面加批注。然后请问各位大大,有没有这种精确定位的方法呢?不然又该用什么方法加这些标注呢?

展开
收起
蛮大人123 2016-03-23 16:19:15 5296 0
1 条回答
写回答
取消 提交回答
  • 我说我不帅他们就打我,还说我虚伪
     /** 
        * 给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

    2019-07-17 19:11:28
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
对象存储实战指南-试读 立即下载
OpenAnolis 龙蜥操作系统开源社区技术创新白皮书 立即下载
使用CNFS搭建弹性Web服务 立即下载