查了一堆资料,终于从2on1这个例子中有所启示,根据这个改造的方法。
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import com.lowagie.text.Document;
import com.lowagie.text.DocumentException;
import com.lowagie.text.Rectangle;
import com.lowagie.text.pdf.PdfImportedPage;
import com.lowagie.text.pdf.PdfReader;
import com.lowagie.text.pdf.PdfWriter;
public class PDFUtil {
public static PdfImportedPage getPage(String file_name,int i){
try {
File out = new File("2on1.pdf"); // 创建一个输出的临时文件
FileOutputStream outfile = new FileOutputStream(out);
PdfReader reader = new PdfReader(file_name); // 创建reader
Rectangle psize = reader.getPageSize(1);
float width = psize.height();
float height = psize.width();
// step 1: creation of a document-object
Document document = new Document(new Rectangle(width, height)); // 创建文件的大小,以前因为没有创建document造成了经常报nullpoint
PdfWriter writer = PdfWriter.getInstance(document,outfile);
document.open();
PdfImportedPage page1 = writer.getImportedPage(reader, i);
writer.freeReader(reader);
reader = null;
writer = null;
outfile.close();
return page1;
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (DocumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
}