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();
}
}
}
}
}