logo Aspose.PDF使用教程 我也要发布文档

使用Java以编程方式拆分PDF文件


有时需要将一个PDF拆分为多个PDF文件时,可能会有多种情况。例如,可能必须分割包含发票/收据的PDF的每一页,并将它们另存为单独的文件。另一方面,可能要从PDF文件中拆分页面的特定集合。为了解决上述情况,本文介绍了如何使用Java通过编程将PDF文件拆分为多个PDF。

  • 使用Java按每一页拆分PDF文件
  • 使用Java按页面集合拆分PDF文件

为了分割PDF文件,我们将利用Aspose.PDF for Java的PDF操作功能。该API使您可以在几个步骤中执行PDF拆分操作。感兴趣的朋友可点击下方按钮下载最新版。(安装包仅提供部分功能,并设置限制,如需试用完整功能请申请免费授权

点击下载最新版Aspose.PDF for Java


使用Java分割PDF文件

PDF拆分标准可能会根据要求在不同的方案中有所不同。首先,让我们看看如何按页面拆分PDF文件并将每页另存为单独的PDF。以下是执行此操作的步骤。

  • 使用Document 类加载PDF文档 。
  • 使用Document.getPages() 方法循环浏览页面。
  • 将每个页面访问到Page 对象中。
  • 在每次迭代中,创建一个新 Document,将当前页面添加到该文档中,然后使用Document.save(String) 方法将其另存为PDF文件 。

以下代码示例显示了如何使用Java分割PDF文件。

// Open document
Document pdfDocument = new Document("input.pdf");

// For page counter
int pageCount = 1;

// Loop through all the pages
for (Page pdfPage : pdfDocument.getPages()) {
	// Create a new document
	Document newDocument = new Document();

	// Add page to the document
	newDocument.getPages().add(pdfPage);

	// Save as PDF
	newDocument.save("page_" + pageCount + "_out" + ".pdf");
	pageCount++;
}

使用Java按页面集合拆分PDF文件

为了演示,让我们看一下另一个PDF拆分方案。在此示例中,我们将基于偶数和奇数页码拆分PDF。以下是执行此操作的步骤。

  • 使用Document 类加载PDF文档 。
  • 使用Document.getPages() 方法循环浏览页面。
  • 将偶数页和奇数页分成ArrayList对象。
  • 创建一个新的 Document对象,将页面添加到文档中,然后使用Document.save(String) 方法将其另存为PDF文件 。

以下代码示例显示了如何使用Java拆分PDF文件中的偶数页和奇数页。

// Open document
Document pdfDocument = new Document("input.pdf");

// Create array lists for even and odd pages
ListevenPages = new ArrayList();
ListoddPages = new ArrayList();

// Loop through all the pages
for (Page pdfPage : pdfDocument.getPages())
{
	if(pdfPage.getNumber()%2==0)
	{
		evenPages.add(pdfPage);
	}
	else
	{
		oddPages.add(pdfPage);
	}		  	
}
// Save even pages as PDF
Document newDocument = new Document();
newDocument.getPages().add(evenPages);
newDocument.save("split_even_Pages.pdf");

// Save odd pages as PDF
newDocument = new Document();
newDocument.getPages().add(oddPages);
newDocument.save("split_odd_Pages.pdf");

如果您有任何疑问或需求,请随时加入Aspose技术交流群(761297826),我们很高兴为您提供查询和咨询