在各種情況下,您需要將一個 MS Word 文檔拆分為多個文檔。例如,您可能需要為 Word 文檔中的每個頁面、部分或頁面集合創建一個單獨的文檔。為了自動執行文檔拆分,本文介紹瞭如何使用 Java 以編程方式拆分 MS Word DOCX。以下部分提供了上述拆分標準的分步教程和代碼示例。
用於拆分 Word DOCX 的 Java API
Aspose.Words for Java 是一個功能強大且功能豐富的文檔操作 API,可讓您創建和處理 MS Word 文檔。除了基本和高級的 Word 自動化功能外,API 還允許您將一個 Word 文檔拆分為多個文檔。您可以 下載 API 或使用以下配置將其安裝在基於 Maven 的應用程序中。
<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 文檔拆分器 - 助手類
在開始拆分文檔之前,您需要將以下幫助程序類添加到您的項目中,以實現基於 Aspose.Words for Java 的 Java 文檔拆分器。添加類後,您可以使用以下部分中提供的代碼示例繼續拆分文檔。
使用 Java 拆分 Word DOCX
首先,讓我們看一下如何按頁拆分 MS Word 文檔。在這種情況下,源文檔的每一頁都將轉換為單獨的 Word 文檔。以下是拆分 Word 文檔頁面的步驟。
- 使用 Document 類加載 Word 文檔。
- 創建 PageSplitter 對象並使用 Document 對像對其進行初始化。
- 循環瀏覽文檔中的頁面。
- 使用 PageSplitter.getDocumentOfPage(Int pageIndex) 方法將每個頁面檢索到 Document 對像中。
- 使用 Document.save(String) 方法保存文檔。
以下代碼示例顯示瞭如何使用 Java 拆分 Word 文檔。
// 有關完整示例和數據文件,請訪問 https://github.com/aspose-words/Aspose.Words-for-Java
// 打開 Word 文檔
Document doc = new Document("Word.docx");
// 將文檔中的節點拆分為單獨的頁面
DocumentPageSplitter splitter = new DocumentPageSplitter(doc);
// 將每一頁另存為單獨的文檔
for (int page = 1; page <= doc.getPageCount(); page++)
{
Document pageDoc = splitter.getDocumentOfPage(page);
pageDoc.save("SplitDocumentByPage_" + page + ".docx");
}
在 Java 中使用頁面範圍拆分 Word DOCX
您還可以定義要從源 Word 文檔中拆分的頁面範圍。以下是執行此操作的步驟。
- 使用 Document 類加載 Word 文檔。
- 創建 PageSplitter 的對象並使用 Document 對像對其進行初始化。
- 使用 PageSplitter.getDocumentOfPageRange(Int, Int) 方法將頁面集合檢索到 Document 對像中。
- 使用 Document.save(String) 方法保存文檔。
以下代碼示例顯示瞭如何使用 Java 按頁面範圍拆分 Word 文檔。
// 如需完整示例和數據文件,請訪問 https://github.com/aspose-words/Aspose.Words-for-Java
// 打開 Word 文檔
Document doc = new Document("Word.docx");
// 將文檔中的節點拆分為單獨的頁面
DocumentPageSplitter splitter = new DocumentPageSplitter(doc);
// 獲取文檔的一部分
Document pageDoc = splitter.getDocumentOfPageRange(3,6);
pageDoc.save("SplitDocumentByPageRange.docx");
使用 Java 按部分拆分 Word 文檔
Aspose.Words for Java 還允許您通過分節符拆分 Word 文檔。以下是執行此操作的步驟。
- 使用 Document 類加載 Word 文檔。
- 使用 Document.getSections() 方法遍歷文檔的每個部分。
- 使用 Document.getSections().get(index).deepClone() 方法將部分克隆到 Section 對像中。
- 創建一個新文檔並使用 Document.getSections().add(Section) 方法將克隆的部分添加到文檔中。
- 使用 Document.save(String) 方法保存文檔。
以下代碼示例顯示瞭如何使用 Java 按部分拆分 Word 文檔。
// 加載 Word DOCX 文檔
Document doc = new Document("word.docx");
for (int i = 0; i < doc.getSections().getCount(); i++) {
// 將文檔拆分為更小的部分,在本例中按部分拆分
Section section = doc.getSections().get(i).deepClone();
// 創建一個新文檔
Document newDoc = new Document();
newDoc.getSections().clear();
// 添加部分
Section newSection = (Section) newDoc.importNode(section, true);
newDoc.getSections().add(newSection);
// 將每個部分保存為單獨的文檔
newDoc.save("splitted_" + i + ".docx");
}
獲取免費的 API 許可證
您可以獲得免費的臨時許可證,以便在沒有評估限制的情況下試用 API。
結論
在本文中,您學習瞭如何使用 Java 拆分 MS Word DOCX/DOC。分步指南和代碼示例展示瞭如何按部分、頁面或一系列頁面拆分 Word 文檔。您可以使用 文檔 探索有關 Java Word API 的更多信息。