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.
- API Java để tách tài liệu Word
- Tách DOCX / DOC Word bằng Java
- Sử dụng Phạm vi trang để tách tài liệu Word
- Chia tài liệu Word theo từng phần
- Nhận giấy phép API miễn phí
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.
- Tải tài liệu Word bằng lớp Tài liệu.
- Tạo một đối tượng của PageSplitter và khởi tạo nó bằng đối tượng Document.
- Lặp lại các trang trong tài liệu.
- Sử dụng phương thức PageSplitter.getDocumentOfPage (Int pageIndex) để truy xuất từng trang thành đối tượng Document.
- Lưu tài liệu bằng phương thức Document.save (String).
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.
- Tải tài liệu Word bằng lớp Tài liệu.
- Tạo một đối tượng của PageSplitter và khởi tạo nó bằng đối tượng Document.
- Sử dụng phương thức PageSplitter.getDocumentOfPageRange (Int, Int) để truy xuất tập hợp các trang vào một đối tượng Document.
- Lưu tài liệu bằng phương thức Document.save (String).
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.
- Tải tài liệu Word bằng lớp Tài liệu.
- Lặp lại từng phần của tài liệu bằng phương pháp Document.getSection().
- Sao chép phần vào một đối tượng Section bằng cách sử dụng phương thức Document.getSection(). Get (index) .deepClone().
- Tạo một Tài liệu mới và thêm phần sao chép vào tài liệu bằng phương pháp Document.getSection(). Add (Section).
- Lưu tài liệu bằng phương thức Document.save (String).
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.