你可以使用iText库来实现按页拆分PDF并生成新的PDF。下面是一个简单的Java代码示例: ```java import com.itextpdf.kernel.pdf.PdfDocument; import com.itextpdf.kernel.pdf.PdfReader; import com.itextpdf.kernel.pdf.PdfWriter; public class SplitPDF { public static void main(String[] args) { try { // 输入PDF文件路径 String inputFilePath = "input.pdf"; // 创建PdfReader对象 PdfReader reader = new PdfReader(inputFilePath); // 获取PDF的总页数 int totalPages = reader.getNumberOfPages(); // 定义每个新生成的PDF文件的页数 int pageSize = 5; // 计算需要生成的PDF文件数量 int numFiles = (int) Math.ceil((double) totalPages / pageSize); // 对每个新生成的PDF文件进行处理 for (int i = 0; i < numFiles; i++) { // 定义新生成的PDF文件路径 String outputFilePath = "output_" + (i + 1) + ".pdf"; // 创建PdfDocument对象 PdfDocument pdfDoc = new PdfDocument(new PdfWriter(outputFilePath)); // 循环拷贝每个页面到新生成的PDF文件中 for (int j = i * pageSize + 1; j <= Math.min((i + 1) * pageSize, totalPages); j++) { pdfDoc.addPage(reader.getPage(j).copyTo(pdfDoc)); } // 关闭PdfDocument对象 pdfDoc.close(); } // 关闭PdfReader对象 reader.close(); System.out.println("按页拆分PDF并生成新的PDF成功!"); } catch (Exception e) { System.out.println("出现异常: " + e.getMessage()); } } } ``` 请确保你已经将iText库添加到你的项目中。这个示例代码会将输入的PDF文件按照每个新生成的PDF文件5页的规模进行拆分,生成的新PDF文件以"output_1.pdf"、"output_2.pdf"等命名。 如果需要,你可以调整`pageSize`的值来定义每个新生成PDF文件的页面数。 [2024-02-05 17:47:26 | AI写代码神器 | 1687点数解答]