itext pdf截取内容保存新的pdf
package com.pdf;
import java.io.FileOutputStream;
import java.io.IOException;
import com.itextpdf.text.pdf.PdfReader;
import com.itextpdf.text.pdf.PdfStamper;
public class FourMain {
/**
* @param args
* @throws IOException
* @throws DocumentException
*/
//public static void copyPdf(String sourceFile ,String targetFile)
// throws Exception {
// PdfReader reader = null;
// Document doc = new Document();
// PdfCopy pdfCopy = new PdfCopy(doc, new FileOutputStream(targetFilename));
// int pageCount = 0;
// doc.open();
// for (int i = 0; i < pdfFilenames.length; ++i) {
// reader = new PdfReader(pdfFilenames[i]);
//// reader.selectPages(ranges);
// pageCount = reader.getNumberOfPages();
// for (int j = 1; j < pageCount; ++j) {
// pdfCopy.addPage(pdfCopy.getImportedPage(reader, j));
// }
// }
// doc.close();
// PdfReader pdfReader = new PdfReader(sourceFile);
//
// PdfStamper pdfStamper = new PdfStamper(pdfReader , new FileOutputStream(targetFile));
// pdfReader.getNumberOfPages();
// pdfStamper.close();
//
//}
public static void main(String[] args) throws Exception {
// PdfReader pdfReader = new PdfReader("C:\\Users\\Administrator\\Desktop\\新建文件夹\\bbbb.pdf");
//
// Document doc = new Document();
// PdfCopy pdfCopy = new PdfCopy(doc, new FileOutputStream("C:\\Users\\Administrator\\Desktop\\新建文件夹\\aaa.pdf"));
// PdfImportedPage impPage = null;
// doc.open();
//
// for(int i=pdfReader.getNumberOfPages()-2;i<pdfReader.getNumberOfPages();i++)
// {
// impPage = pdfCopy.getImportedPage(pdfReader, i);
// pdfCopy.addPage(impPage);
// }
// doc.close();
//复制源文档中的1-20页以及其它所有的奇数页
// copyPdf("C:\\Users\\Administrator\\Desktop\\新建文件夹\\bbbb.pdf", "C:\\Users\\Administrator\\Desktop\\新建文件夹\\aaa.pdf");
PdfReader pdfReader = new PdfReader("C:\\Users\\Administrator\\Desktop\\新建文件夹\\bbbb.pdf");
PdfStamper pdfStamper = new PdfStamper(pdfReader , new FileOutputStream("C:\\Users\\Administrator\\Desktop\\新建文件夹\\aaa.pdf"));
pdfReader.selectPages("2-10");
pdfStamper.close();
}
}
/**
* 复制pdf文档
* @param sourceFile 源文件
* @param targetFile 目标文件
* @param ranges 复制规则
*/
public static void copyPdf(String sourceFile ,String targetFile, String ranges)throws Exception{
PdfReader pdfReader = new PdfReader(sourceFile);
PdfStamper pdfStamper = new PdfStamper(pdfReader , new FileOutputStream(targetFile));
pdfReader.selectPages(ranges);
pdfStamper.close();
}
public static void main(String[] args) throws Exception {
//复制源文档中的1-20页以及其它所有的奇数页
copyPdf("f:\\MyEclipse 6 Java 开发中文教程_免费电子版.pdf", "f:\\target.pdf", "1-20,o");
}