您的位置:首页 > 其它

给pdf加水印

2013-11-29 11:47 134 查看
import java.io.File;

import java.io.FileOutputStream;

import com.itextpdf.text.Image;

import com.itextpdf.text.pdf.PdfContentByte;

import com.itextpdf.text.pdf.PdfReader;

import com.itextpdf.text.pdf.PdfStamper;

public class WordObj {

public static void main(String[] args) throws Exception {

String InPdfFile = "d:/手机网站开发技术.pdf";

String outPdfFile = "d:/网站.pdf";

String markImagePath ="d:/test.jpg";

addPdfMark(InPdfFile, outPdfFile, markImagePath);

}

/**

* 给pdf文件添加水印

* @param InPdfFile 要加水印的原pdf文件路径

* @param outPdfFile 加了水印后要输出的路径

* @param markImagePath 水印图片路径

* @param pageSize 原pdf文件的总页数

* @throws Exception

*/

public static void addPdfMark(String InPdfFile, String outPdfFile, String markImagePath) throws Exception {

PdfReader reader = new PdfReader(InPdfFile, "PDF".getBytes());

int pageSize = reader.getNumberOfPages();

PdfStamper stamp = new PdfStamper(reader, new FileOutputStream(outPdfFile));

Image img = Image.getInstance(markImagePath);// 插入水印

img.setAbsolutePosition(200, 400);

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

}

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: