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");
}

你可能感兴趣的:(pdf)