IText实现多个pdf转成一个pdf

来源:互联网 发布:数据采集与处理投稿 编辑:程序博客网 时间:2024/05/17 18:14

 package com.pdf; 


import java.io.FileOutputStream; 
import java.io.IOException; 

import com.lowagie.text.Document; 
import com.lowagie.text.DocumentException; 
import com.lowagie.text.pdf.PdfCopy; 
import com.lowagie.text.pdf.PdfImportedPage; 
import com.lowagie.text.pdf.PdfReader; 

public class PdfOperate { 
public static void main(String[] args) { 
String[] files = { "G:/abc/1.pdf", "G:/abc/2.pdf" , "G:/abc/3.pdf", "G:/abc/4.pdf"}; 
String savepath = "G:/test3.pdf"; 
morePdfTopdf(files, savepath); 


public static void morePdfTopdf(String[] files, String savepath) { 
Document document = null; 
try { 
document = new Document(new PdfReader(files[0]).getPageSize(1)); 
PdfCopy copy = new PdfCopy(document, new FileOutputStream(savepath)); 
document.open(); 
for (int i = 0; i < files.length; i++) { 
PdfReader reader = new PdfReader(files[i]); 
int n = reader.getNumberOfPages();//获得总页码 
for (int j = 1; j <= n; j++) { 
document.newPage(); 
PdfImportedPage page = copy.getImportedPage(reader, j);//从当前Pdf,获取第j页 
copy.addPage(page); 


} catch (IOException e) { 
e.printStackTrace(); 
} catch (DocumentException e) { 
e.printStackTrace(); 
}finally{ 
if(document != null){ 
document.close(); 



}
  • iText-2.0.8.jar (1.2 MB)

引自:http://wangming2012.iteye.com/blog/1529912