/**
* 截取pdfFile的第from页至第end页,组成一个新的文件名
*
* @param pdfFile 要切割的pdf文件
* @param newFile 切割后形成的新的pdf文件
* @param from 从第N页开始
* @param end 到第N页结束
*/
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;
}
document = new Document(reader.getPageSize(1));
copy = new PdfCopy(document, new FileOutputStream(newFile));
document.open();
for (int j = from; j <= end; j++) {
document.newPage();
PdfImportedPage page = copy.getImportedPage(reader, j);
copy.addPage(page);
}
document.close();
} catch (IOException | DocumentException e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
System.out.println("---start----");
try {
partitionPdfFile("E:\\beforePdfFile.pdf", "E:\\afterPdfFile.pdf", 1, 3);
} catch (Exception e) {
e.printStackTrace();
}
System.out.println("---end----");
}