import java.io.FileOutputStream;
import com.itextpdf.text.Element;
import com.itextpdf.text.Image;
import com.itextpdf.text.PageSize;
import com.itextpdf.text.pdf.BaseFont;
import com.itextpdf.text.pdf.PdfContentByte;
import com.itextpdf.text.pdf.PdfReader;
import com.itextpdf.text.pdf.PdfStamper;
import com.itextpdf.text.pdf.PdfWriter;
public class pdf {
public static void main(String[] args) {
try {
PdfReader reader = new PdfReader("D:/bldc130703085701-85.pdf");//pdf编辑来源文件
PdfStamper stamp = new PdfStamper(reader, new FileOutputStream("D:/bldc130703085701-88.pdf"));//编辑后生成的文件
PdfContentByte under = stamp.getUnderContent(1);
// 插入水印
Image img = Image.getInstance("D:/11.png");
//系长签名
// img.setAbsolutePosition(410, 672);
// img.scaleToFit(50, 25);//大小
//科长签名
img.setAbsolutePosition(460, 672);
img.scaleToFit(50, 25);//大小
under.addImage(img);
// 关闭
stamp.close();
System.out.println("==============================ok");
} catch (Exception e) {
e.printStackTrace();
}
}
//pdf加密
public void setPwdToPdf(){
try {
PdfReader reader = new PdfReader("D:/bldc130703085701-86.pdf", "11".getBytes());
PdfStamper stamp = new PdfStamper(reader, new FileOutputStream("D:/bldc130703085701-87.pdf"));
//11是阅读、编辑的密码,22是阅读的密码
stamp.setEncryption("11".getBytes(), "22".getBytes(),PdfWriter.ALLOW_SCREENREADERS,PdfWriter.STANDARD_ENCRYPTION_128);
// 关闭
stamp.close();
System.out.println("==============================ok");
} catch (Exception e) {
e.printStackTrace();
}
}
public void test(){
try {
PdfReader reader = new PdfReader("D:/bldc130703085701-85.pdf");
PdfStamper stamp = new PdfStamper(reader, new FileOutputStream(
"D:/bldc130703085701-86.pdf"));
// 拿到第一页的上部内容部分
PdfContentByte over = stamp.getOverContent(1);
// 增加内容
over.beginText();
over.setTextMatrix(30, 30);
BaseFont bf = BaseFont.createFont(BaseFont.HELVETICA,
BaseFont.WINANSI, BaseFont.EMBEDDED);
over.setFontAndSize(bf, 18);
over.showText("page1");
over.showTextAligned(Element.ALIGN_LEFT, "DUPLICATE", 230, 430, 45);
over.endText();
// 增加新的一页2
stamp.insertPage(2, PageSize.A4);
// 写上内容
over = stamp.getOverContent(2);
over.beginText();
over.setFontAndSize(bf, 18);
over.showTextAligned(Element.ALIGN_LEFT,
"DUPLICATE OF AN EXISTING PDF DOCUMENT", 30, 600, 0);
over.endText();
// 插入水印
Image img = Image
.getInstance("C:\\Users\\Public\\Pictures\\Sample Pictures\\Desert.jpg");
img.setAbsolutePosition(200, 400);
PdfContentByte under = stamp.getUnderContent(2);
under.addImage(img);
// 增加新的一页
stamp.insertPage(3, PageSize.A4);
// 从现有的别的pdf合并过来
PdfReader reader2 = new PdfReader("D:/bldc130703085701-85.pdf", "World"
.getBytes());
under = stamp.getUnderContent(3);
under.addTemplate(stamp.getImportedPage(reader2, 1), 1, 0, 0, 1, 0,
0);
// 关闭
stamp.close();
System.out.println("==============================ok");
} catch (Exception e) {
e.printStackTrace();
}
}
}
版权声明:本文为oushaomeng2011原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。