java实现PDF文件批量加水印

java实现PDF批量添加水印
几个依赖包可以通过Maven下载

##代码如下

// An highlighted block
import com.spire.pdf.*;

import java.awt.geom.Rectangle2D;
import java.io.File;


public class watermark{

    public static void main(String[] args) {

        //加载PDF文档路径
        File file = new File("D:\\pdf");
        File file1=new File("D:\\img");
        if (file.isDirectory()) { // 判断是否为文件夹 
            File[] list = file.listFiles(); // 使用数组接收带有完整路径的文件夹
            File[] list1=file1.listFiles();          
            if (list != null) {
                               // 循环遍历文件
                for (int i = 0; i < list.length; i++) {

                    String s=list[i].toString();

                    PdfDocument doc = new PdfDocument();                   
                    doc.loadFromFile(list[i].toString());                    
                   
                    //获取总页数
                    int j=doc.getPages().getCount();
                    
                    for(int l=0;l<j;l++){
                    PdfPageBase page=null;
                    //获取每一页
                    page = doc.getPages().get(l);  

                    //设置背景图片
                   // page.setBackgroundImage("D:\\img\\11.jpg");
                    page.setBackgroundImage(list1[0].toString());

                    //设置背景区域,为每一页加水印
                    Rectangle2D.Float rect = new Rectangle2D.Float();
                    rect.setRect(280, 300, 150, 150);
                    page.setBackgroundRegion(rect);
                   
                    }
                    
                    //保存文档
                    int index=s.lastIndexOf("\\");             	
                    doc.saveToFile("D:\\newpdf\\"+s.substring(index+1)+"");
                    doc.close();
                  
                
                }
            }
   
        }
    	

    }
}

猜你喜欢

转载自blog.csdn.net/qq_34814503/article/details/95327748