Tách tài liệu Word Java

Trong nhiều trường hợp, bạn cần chia một tài liệu MS Word thành nhiều tài liệu. Ví dụ: bạn có thể cần tạo một tài liệu riêng cho từng trang, phần hoặc tập hợp các trang trong tài liệu Word. Để tự động hóa việc chia nhỏ tài liệu, bài viết này trình bày cách tách MS Word DOCX theo lập trình bằng Java. Các phần sau đây cung cấp hướng dẫn từng bước và các mẫu mã của các tiêu chí phân tách được đề cập ở trên.

Java API để tách Word DOCX

Aspose.Words dành cho Java là một API thao tác tài liệu mạnh mẽ và giàu tính năng cho phép bạn tạo và xử lý các tài liệu MS Word. Ngoài các tính năng tự động hóa Word cơ bản cũng như nâng cao, API còn cho phép bạn chia một tài liệu Word thành nhiều tài liệu. Bạn có thể tải xuống API hoặc cài đặt nó trong ứ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-words</artifactId>
    <version>21.1</version>
    <classifier>jdk17</classifier>
</dependency>

Word Document Splitter - Lớp trợ giúp

Trước khi bắt đầu chia nhỏ tài liệu, bạn cần phải thêm lớp trợ giúp sau vào dự án của mình để triển khai bộ tách tài liệu Java dựa trên Aspose.Words dành cho Java. Khi bạn đã thêm lớp, bạn có thể tiến hành tách tài liệu bằng cách sử dụng các mẫu mã được cung cấp trong các phần bên dưới.

Tách DOCX Word bằng Java

Trước hết, chúng ta hãy xem cách chia tài liệu MS Word theo từng trang. Trong trường hợp này, mỗi trang của tài liệu nguồn sẽ được chuyển đổi thành một tài liệu Word riêng biệt. Sau đây là các bước để tách các trang trong tài liệu Word.

Mẫu mã sau đây cho thấy cách chia tài liệu Word bằng Java.

// Để có các ví dụ đầy đủ và tệp dữ liệu, vui lòng truy cập https://github.com/aspose-words/Aspose.Words-for-Java
// Mở tài liệu Word
Document doc = new Document("Word.docx");

// Chia các nút trong tài liệu thành các trang riêng biệt
DocumentPageSplitter splitter = new DocumentPageSplitter(doc);

// Lưu từng trang thành một tài liệu riêng biệt
for (int page = 1; page <= doc.getPageCount(); page++)
{
    Document pageDoc = splitter.getDocumentOfPage(page);
    pageDoc.save("SplitDocumentByPage_" + page + ".docx");
}

Sử dụng Phạm vi Trang để Tách DOCX Word trong Java

Bạn cũng có thể xác định phạm vi trang mà bạn muốn tách khỏi tài liệu Word nguồn. Sau đây là các bước để thực hiện thao tác này.

Mẫu mã sau đây cho thấy cách chia tài liệu Word theo một phạm vi trang bằng Java.

// Để có các ví dụ và tệp dữ liệu đầy đủ, vui lòng truy cập https://github.com/aspose-words/Aspose.Words-for-Java
// Mở tài liệu Word
Document doc = new Document("Word.docx");

// Chia các nút trong tài liệu thành các trang riêng biệt
DocumentPageSplitter splitter = new DocumentPageSplitter(doc);
 
// Nhận một phần của tài liệu
Document pageDoc = splitter.getDocumentOfPageRange(3,6);
pageDoc.save("SplitDocumentByPageRange.docx");

Tách tài liệu Word theo từng phần bằng Java

Aspose.Words dành cho Java cũng cho phép bạn chia tài liệu Word theo các ngắt phần. Sau đây là các bước để thực hiện thao tác này.

Mẫu mã sau đây cho thấy cách chia tài liệu Word theo các phần bằng Java.

// Tải tài liệu Word DOCX
Document doc = new Document("word.docx");

for (int i = 0; i < doc.getSections().getCount(); i++) {
	// Chia tài liệu thành các phần nhỏ hơn, trong trường hợp này là chia theo phần
	Section section = doc.getSections().get(i).deepClone();

	// Tạo một tài liệu mới
	Document newDoc = new Document();
	newDoc.getSections().clear();

  	// Thêm phần
	Section newSection = (Section) newDoc.importNode(section, true);
	newDoc.getSections().add(newSection);

	// Lưu từng phần thành một tài liệu riêng biệt
	newDoc.save("splitted_" + i + ".docx");
}

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í để dùng thử API mà không có giới hạn đánh giá.

Sự kết luận

Trong bài viết này, bạn đã biết cách chia nhỏ MS Word DOCX / DOC bằng Java. Hướng dẫn từng bước và các mẫu mã đã chỉ ra cách chia tài liệu Word theo các phần, các trang hoặc một loạt các trang. Bạn có thể khám phá thêm về Java Word API bằng cách sử dụng tài liệu.

Xem thêm