pdf按照指定页数拆分
package org.example;
import org.apache.pdfbox.multipdf.Splitter;
import org.apache.pdfbox.pdmodel.PDDocument;
import java.io.File;
import java.io.IOException;
import java.util.List;
public class PdfSplitter {
public static void main(String[] args) {
String sourceFile = "/Users/shicong/work/java/test/test/file/1.pdf";
String outputDirectory = "/Users/shicong/work/java/test/test/file/output/";
try {
PDDocument document = PDDocument.load(new File(sourceFile));
Splitter splitter = new Splitter();
splitter.setStartPage(1);
splitter.setEndPage(10);
// splitter.setEndPage(document.getNumberOfPages());
//任意拆几个
List<PDDocument> list = splitter.split(document);
for (int i = 0; i < 10; i+=2) {
PDDocument part = list.get(i);
part.addPage(list.get(i+1).getPage(0));
String fileName = outputDirectory + "part" + i + ".pdf";
part.save(fileName);
}
//拆一页一页
/*int i = 1;
for (PDDocument part : splitter.split(document)) {
String fileName = outputDirectory + "part" + i + ".pdf";
part.save(fileName);
System.out.println("Split PDF saved: " + fileName);
i++;
}*/
document.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}