pom
<dependencies>
<dependency>
<groupId>com.lowagie</groupId>
<artifactId>itext</artifactId>
<version>2.1.4</version>
</dependency>
<dependency>
<groupId>org.bouncycastle</groupId>
<artifactId>bcprov-jdk15</artifactId>
<version>1.40</version>
</dependency>
</dependencies>
java
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.ArrayList;
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 PDFCutUtil {
public static void main(String[] args) {
partitionPdfFile("C:\\Users\\Administrator\\Desktop\\img-416154131.pdf", "1_9.pdf", 1, 9);
partitionPdfFile("C:\\Users\\Administrator\\Desktop\\img-416154131.pdf", "10_15.pdf", 10, 15);
partitionPdfFile("C:\\Users\\Administrator\\Desktop\\img-416154131.pdf", "16_21.pdf", 16, 21);
partitionPdfFile("C:\\Users\\Administrator\\Desktop\\img-416154131.pdf", "22_24.pdf", 22, 24);
partitionPdfFile("C:\\Users\\Administrator\\Desktop\\img-416154131.pdf", "25_27.pdf", 25, 27);
}
public static void partitionPdfFile(String pdfFile,
String newFile, int from, int end) {
Document document = null;
PdfCopy copy = null;
try {
PdfReader reader = new PdfReader(pdfFile);
int n = reader.getNumberOfPages();
if (end == 0) {
end = n;
}
ArrayList<String> savepaths = new ArrayList<String>();
String staticpath = pdfFile.substring(0, pdfFile.lastIndexOf("\\") + 1);
String savepath = staticpath + newFile;
savepaths.add(savepath);
document = new Document(reader.getPageSize(1));
copy = new PdfCopy(document, new FileOutputStream(savepaths.get(0)));
document.open();
for (int j = from; j <= end; j++) {
document.newPage();
PdfImportedPage page = copy.getImportedPage(reader, j);
copy.addPage(page);
}
document.close();
} catch (IOException e) {
e.printStackTrace();
} catch (DocumentException e) {
e.printStackTrace();
}
}
}