itextpdf 文件操作
****************
示例
public class Test5 {
private static final String source = "./source/静夜思.pdf";
private static final String source2 = "./source/春晓.pdf";
private static final String dest = "./dest/pageNumber.pdf";
private static final String dest2 = "./dest/annotation.pdf";
private static final String dest3 = "./dest/merge.pdf";
private static final String dest4 = "./dest/move.pdf";
public static void fun() throws Exception{ //添加页码
PdfDocument pdfDocument = new PdfDocument(new PdfReader(source), new PdfWriter(dest));
Document document = new Document(pdfDocument);
int numberOfPages = pdfDocument.getNumberOfPages();
for (int i=1; i<=numberOfPages;i++){
document.showTextAligned(new Paragraph(String.format("%s/%s", i, numberOfPages))
.setFontColor(ColorConstants.ORANGE).setBold(),
559, 806, i, TextAlignment.CENTER, VerticalAlignment.TOP, 0);
}
document.close();
}
public static void fun2() throws Exception{ //添加注释
PdfDocument pdfDocument = new PdfDocument(new PdfReader(source),new PdfWriter(dest2));
Rectangle rectangle = new Rectangle(400, 600, 200, 200);
PdfAnnotation annotation = new PdfTextAnnotation(rectangle)
//.setTitle(new PdfString("title"))
.setText(new PdfString("annotation 注释"))
.setContents(new PdfString("this is an annotation"))
.setColor(ColorConstants.GREEN);
pdfDocument.getFirstPage().addAnnotation(annotation);
pdfDocument.close();
}
public static void fun3() throws Exception{ //文件合并
PdfDocument pdfDocument = new PdfDocument(new PdfReader(source), new PdfWriter(dest3));
PdfDocument pdfDocument2 = new PdfDocument(new PdfReader(source2));
pdfDocument2.copyPagesTo(1,1,pdfDocument,1);
pdfDocument.close();
pdfDocument2.close();
}
public static void fun4() throws Exception{ //文件移动
PdfDocument pdfDocument = new PdfDocument(new PdfReader(dest3), new PdfWriter(dest4));
pdfDocument.movePage(2,1);
pdfDocument.close();
}
public static void main(String[] args) throws Exception{
fun();
fun2();
fun3();
fun4();
}
}
源文件:静夜思.pdf、春晓.pdf
fun:添加页码
fun2:添加注释
fun3:文件合并
fun4:文件移动