Tách PDF thành nhiều tệp trong Java

PDF là một trong những định dạng tệp nổi tiếng nhất hỗ trợ văn bản, đồ họa và nhiều yếu tố khác. Một trong những lý do cho sự phổ biến của nó là tính di động của nó. Trong một số trường hợp nhất định, bạn có thể cần chia một tệp PDF lớn thành nhiều tệp. Để giải quyết vấn đề này theo chương trình, bài viết này thảo luận về các cách khác nhau về cách chia nhỏ tệp PDF trong Java.

API Java để tách tệp PDF

GroupDocs.Merger cung cấp giải pháp hợp nhất và chia nhỏ các tệp thuộc nhiều định dạng tệp khác nhau. Chúng tôi sẽ sử dụng Java API của nó để chia tệp PDF theo nhiều cách khác nhau. Tải xuống tệp JAR từ phần tải xuống hoặc chỉ sử dụng cấu hình phụ thuộc và kho lưu trữ mới nhất Maven trong các ứng dụng Java của bạn.

<repository>
	<id>GroupDocsJavaAPI</id>
	<name>GroupDocs Java API</name>
	<url>http://repository.groupdocs.com/repo/</url>
</repository>
<dependency>
        <groupId>com.groupdocs</groupId>
        <artifactId>groupdocs-merger</artifactId>
        <version>21.9</version> 
</dependency>

Tách tệp PDF thành tệp nhiều trang trong Java

Các bước sau đây hướng dẫn cách bạn có thể chia tệp PDF thành nhiều tệp:

  • Tải tệp PDF bằng lớp Sáp nhập.
  • Xác định định dạng (các) tệp đầu ra.
  • Xác định khoảng cách giữa các trang bằng cách sử dụng SplitOptions.
  • Tách tệp PDF đã tải theo khoảng thời gian đã xác định bằng phương pháp split().

Mẫu mã sau đây cho biết cách chia tệp PDF thành nhiều tệp trong Java.

/*
 * Tách tệp PDF thành nhiều tệp trang trong Java
 */
// Tải tệp PDF
Merger merger = new Merger("path/document.pdf"); 

// Xác định định dạng (các) tệp đầu ra
String filePathOut = "path/splitPDF_{0}.{1}";

// Xác định khoảng thời gian chia tách và chế độ chia tách
SplitOptions splitOptions = new SplitOptions(filePathOut,  new int[] { 3, 6, 8 }, SplitMode.Interval);

// Tách PDF theo các khoảng thời gian nhất định
merger.split(splitOptions);

Tách tệp PDF thành nhiều tệp một trang trong Java

Các bước sau đây hướng dẫn cách bạn có thể tách một tệp PDF để trích xuất các trang thành nhiều tệp một trang:

  • Tải tệp PDF bằng lớp Sáp nhập.
  • Xác định định dạng (các) tệp đầu ra.
  • Xác định số trang chính xác bằng cách sử dụng SplitOptions.
  • Tách tệp PDF đã tải theo các trang đã xác định bằng phương pháp split().

Mẫu mã sau đây cho biết cách chia tệp PDF thành nhiều tệp một trang trong Java.

/*
 * Tách tệp PDF thành các tệp Trang đơn trong Java
 */
// Tải tệp PDF
Merger merger = new Merger("path/document.pdf");

// Xác định định dạng (các) tệp đầu ra
String filePathOut = "path/splitPDF_{0}.{1}"; 

// Xác định các trang để được trích xuất dưới dạng tài liệu một trang
SplitOptions splitOptions = new SplitOptions(filePathOut, new int[] { 3, 6, 8 });

// Tách PDF theo các tùy chọn tách
merger.split(splitOptions);

Trích xuất các trang từ tệp PDF theo phạm vi trong Java

Các bước sau đây hướng dẫn cách tách trang từ PDF bằng cách chia nhỏ theo phạm vi cho trước:

  • Tải tệp PDF bằng lớp Sáp nhập.
  • Xác định định dạng (các) tệp đầu ra.
  • Cung cấp phạm vi trang bằng cách sử dụng SplitOptions.
  • Sử dụng phương pháp split() để chia tệp PDF đã tải theo phạm vi đã xác định.

Đoạn mã sau cho biết cách tách PDF và trích xuất các trang bằng cách cung cấp phạm vi trong Java.

/*
 * Tách tệp PDF theo Phạm vi đã cho thành các tệp Trang đơn trong Java
 */
// Tải tệp PDF
Merger merger = new Merger("path/document.pdf"); 

// Xác định định dạng (các) tệp đầu ra
String filePathOut = "path/splitPDF_{0}.{1}";

// Xác định Phạm vi để trích xuất dưới dạng tài liệu một trang
SplitOptions splitOptions = new SplitOptions(filePathOut, 3, 7);

// Tách PDF theo các tùy chọn tách
merger.split(splitOptions);

Trích xuất các trang từ tệp PDF bằng Bộ lọc chẵn/lẻ trong Java

Các bước sau đây hướng dẫn cách trích xuất các trang chẵn/lẻ trong phạm vi đã cho từ tệp PDF bằng cách chia nhỏ:

  • Tải tệp PDF bằng lớp Sáp nhập.
  • Xác định định dạng (các) tệp đầu ra.
  • Cung cấp phạm vi trang bằng cách sử dụng SplitOptions.
  • Áp dụng bộ lọc trang chẵn, lẻ hoặc tất cả các trang bằng RangeMode.
  • Sử dụng phương thức split() để chia tệp PDF đã tải theo bộ lọc đã xác định.

Đoạn mã sau đây cho biết cách trích xuất tất cả các trang chẵn/lẻ trong phạm vi đã xác định của tệp PDF bằng Java.

/*
 * Tách tệp PDF theo Phạm vi & Bộ lọc đã cho (Trang chẵn/lẻ) thành tệp Trang đơn trong Java
 */
// Tải tệp PDF
Merger merger = new Merger("path/document.pdf"); 

// Xác định định dạng (các) tệp đầu ra
String filePathOut = "path/splitPDF_{0}.{1}";

// Xác định Phạm vi & Bộ lọc để trích xuất tất cả các Trang LẺ trong Phạm vi đã cho dưới dạng tài liệu một trang
SplitOptions splitOptions = new SplitOptions(filePathOut, 3, 7, (Integer)RangeMode.OddPages);

// Tách PDF theo các tùy chọn tách
merger.split(splitOptions);

Tóm tắt thay đổi mã

Điều duy nhất khác nhau trong các trường hợp trên là cách tạo SplitOptions. Bạn có thể sử dụng các cấu hình sau theo yêu cầu trong mã của mình.

  • Đối với tệp nhiều trang - Sử dụng khoảng thời gian: [1,2], [3,4,5], [6,7], [8,9,10].
new SplitOptions(outputFile,  new int[] { 3, 6, 8 }, SplitMode.Interval)
  • Các trang cá nhân: [3], [6], [8]
new SplitOptions(outputFile, new int[] { 3, 6, 8 });
  • Để trích xuất các trang trong phạm vi: [3], [4], [5]
new SplitOptions(outputFile, 3, 5);
  • Phạm vi có Bộ lọc: [3], [5], [7]
new SplitOptions(outputFile, 3, 7, (Integer)RangeMode.OddPages);

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

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

Sự kết luận

Tóm lại, bạn đã học được các cách khác nhau để chia nhỏ tệp PDF trong Java. Đầu tiên, chúng tôi chia tệp PDF thành nhiều tài liệu cũng như trong một số tài liệu một trang. Sau đó, lần lượt chúng tôi trích xuất tất cả các trang và các trang chẵn/lẻ của tệp PDF trong phạm vi nhất định. Giờ đây, bạn đã có thể tự tin xây dựng Ứng dụng Java tách PDF của riêng mình bằng cách sử dụng API GroupDocs.Merger.

Để tìm hiểu thêm về API, hãy truy cập tài liệu. Nếu có thắc mắc, hãy liên hệ với chúng tôi qua diễn đàn.

Xem thêm