Tách tệp PDF trong Java

Có thể có nhiều trường hợp khác nhau khi bạn cần chia một PDF thành nhiều tệp PDF. Ví dụ: bạn có thể phải chia từng trang PDF có chứa hóa đơn / biên lai và lưu chúng thành các tệp riêng biệt. Mặt khác, bạn có thể muốn tách một bộ sưu tập các trang cụ thể từ một tệp PDF. Để đối phó với các tình huống nêu trên, bài viết này trình bày cách chia tệp PDF thành nhiều tệp PDF bằng Java.

API Java để chia nhỏ tệp PDF - Tải xuống miễn phí

Để chia nhỏ các tệp PDF, chúng tôi sẽ tận dụng các khả năng thao tác PDF của Aspose.PDF dành cho Java. API cho phép bạn thực hiện thao tác chia nhỏ PDF trong vòng một vài bước. Bạn có thể tải xuống API hoặc cài đặt nó trong các ứng dụng dựa trên Maven của mình bằng cách sử dụng các cấu hình sau.

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>https://repository.aspose.com/repo/</url>
</repository>
<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-pdf</artifactId>
    <version>20.12</version>
    <classifier>jdk17</classifier>
</dependency>

Tách tệp PDF bằng Java

Các tiêu chí tách PDF có thể khác nhau trong các tình huống khác nhau tùy theo yêu cầu. Trước tiên, hãy kiểm tra cách chia tệp PDF theo các trang và lưu từng trang dưới dạng PDF riêng biệt. Sau đây là các bước để thực hiện thao tác này.

  • Tải tài liệu PDF bằng lớp Tài liệu.
  • Lặp lại các trang bằng phương pháp Document.getPages().
  • Truy cập từng trang vào một đối tượng Trang.
  • Trong mỗi lần lặp, hãy tạo một Tài liệu mới, thêm trang hiện tại vào tài liệu và lưu dưới dạng tệp PDF bằng phương pháp Document.save (String).

Mẫu mã sau đây cho thấy cách chia tệp PDF bằng Java.

// Mở tài liệu
Document pdfDocument = new Document("input.pdf");

// Đối với bộ đếm trang
int pageCount = 1;

// Lặp lại tất cả các trang
for (Page pdfPage : pdfDocument.getPages()) {
	// Tạo một tài liệu mới
	Document newDocument = new Document();

	// Thêm trang vào tài liệu
	newDocument.getPages().add(pdfPage);

	// Lưu dưới dạng PDF
	newDocument.save("page_" + pageCount + "_out" + ".pdf");
	pageCount++;
}

Tách tệp PDF theo Bộ sưu tập trang bằng Java

Đối với phần trình diễn, chúng ta hãy xem xét một kịch bản tách PDF khác. Trong ví dụ này, chúng tôi sẽ chia một tệp PDF dựa trên số trang chẵn và lẻ. Sau đây là các bước để thực hiện thao tác này.

  • Tải tài liệu PDF bằng lớp Tài liệu.
  • Lặp lại các trang bằng phương pháp Document.getPages().
  • Tách các trang chẵn và lẻ thành ArrayList các đối tượng.
  • Tạo một đối tượng Document mới, thêm các trang vào tài liệu và lưu nó dưới dạng tệp PDF bằng phương pháp Document.save (String).

Mẫu mã sau đây cho thấy cách tách các trang chẵn và lẻ trong tệp PDF bằng Java.

// Mở tài liệu
Document pdfDocument = new Document("input.pdf");

// Tạo danh sách mảng cho các trang chẵn và lẻ
List<Page> evenPages = new ArrayList<Page>();
List<Page> oddPages = new ArrayList<Page>();

// Lặp lại tất cả các trang
for (Page pdfPage : pdfDocument.getPages())
{
	if(pdfPage.getNumber()%2==0)
	{
		evenPages.add(pdfPage);
	}
	else
	{
		oddPages.add(pdfPage);
	}		  	
}
// Lưu các trang chẵn dưới dạng PDF
Document newDocument = new Document();
newDocument.getPages().add(evenPages);
newDocument.save("split_even_Pages.pdf");

// Lưu các trang lẻ dưới dạng PDF
newDocument = new Document();
newDocument.getPages().add(oddPages);
newDocument.save("split_odd_Pages.pdf");

Nhận giấy phép miễn phí

Bạn có thể nhận giấy phép tạm thời miễn phí để dùng thử API mà không có giới hạn đánh giá.

Sự kết luận

Trong bài này, bạn đã học cách chia nhỏ tệp PDF bằng Java. Hơn nữa, bạn đã thấy cách tùy chỉnh các tiêu chí tách PDF theo yêu cầu. Bạn có thể khám phá thêm về API bằng cách sử dụng tài liệu.

Xem thêm