网上大部分的教程方法都是采用了这个库:spire.pdf.free

然而这个有10页的限制,超过十页就会停止解析,你需要购买他的付费版本才能拆分更多的文件。

遂找到另一个库:OPENPDF(https://github.com/LibrePDF/OpenPDF)

使用方法如下:


/**
* 切分PDF文件并返回页数,下标从1开始
*
* originFile 源文件路径
* outputPrefix 切分后文件的前缀
* outputPath 切分后文件存放的路径
*
* pagesCount 切分后页数
*/
public static int divide(String originFile, String outputPrefix, String outputPath) throws IOException {
PDDocument pdDocument = PDDocument.load(new File(originFile));

Splitter splitter = new Splitter();

List Pages = splitter.split(pdDocument);

Iterator iterator = Pages.listIterator();

int pagesCount = 0;
while(iterator.hasNext()) {
PDDocument pd = iterator.next();
pd.save(outputPath+ outputPrefix + "-out-" + ++pagesCount +".pdf");
}
pdDocument.close();

return pagesCount;
}