Microsoft Word 提供了許多易於使用的文檔操作工具,同時也提供了豐富的功能集供創建複雜的文檔使用。在使用的時候,你可能需要複製一個文檔裡面的內容到另一個文檔。複製的內容可支持包括文本、圖片、表格、超鏈接、書簽、批註、形狀、編號列表、腳註、章節附註等等在內的多種元素。 ...
Microsoft Word 提供了許多易於使用的文檔操作工具,同時也提供了豐富的功能集供創建複雜的文檔使用。在使用的時候,你可能需要複製一個文檔裡面的內容到另一個文檔。本文介紹使用Spire.Doc for Java通過編程的方式來複制Word文檔的方法,複製的內容可支持包括文本、圖片、表格、超鏈接、書簽、批註、形狀、編號列表、腳註、章節附註等等在內的多種元素。
【程式環境】
本次測試時,在程式中引入Spire.Doc for Java。可通過以下方法引用Spire.Doc.jar文件:
方法1:將Spire.Doc for Java下載到本地,解壓,安裝。安裝完成後,找到安裝路徑下BIN文件夾中的Spire.Doc.jar。然後在Visual Studio中打開“解決方案資源管理器”,滑鼠右鍵點擊“引用”,“添加引用”,將本地路徑BIN文件夾下的jar文件添加引用至程式。
方法2:使用Maven進行安裝,你可以通過在項目的pom.xml文件中添加以下代碼,在你的應用程式中輕鬆導入該JAR文件。
<repositories> <repository> <id>com.e-iceblue</id> <name>e-iceblue</name> <url> https://repo.e-iceblue.cn/repository/maven-public/</url> </repository> </repositories> <dependencies> <dependency> <groupId>e-iceblue</groupId> <artifactId>spire.doc</artifactId> <version>10.9.0</version> </dependency> </dependencies>
方法3:通過NuGet安裝。可通過以下2種方法安裝:
(1)可以在Visual Studio中打開“解決方案資源管理器”,滑鼠右鍵點擊“引用”,“管理NuGet包”,然後搜索“FreeSpire.Doc”,點擊“安裝”。等待程式安裝完成。
(2)將以下內容複製到PM控制台安裝。
Install-Package FreeSpire.Doc -Version 10.9.0
【複製Word文檔】
- 創建一個Document 實例和一個目標文檔Document實例。
- 使用 Document.loadFromFile() 方法載入示例 Word 文檔。
- 遍歷獲取要複製的內容。
- 使用DocumentObjectCollection.add()方法將原文本的內容複製到目標文檔。
- DocumentObject.deepClone()創建文件目標的副本。
- 使用 saveToFile() 方法保存目標文檔。
【代碼示例】
import com.spire.doc.*; public class CopyDoc { public static void main(String[] args) { //載入文檔1 Document doc1 = new Document(); doc1.loadFromFile("input.docx"); //載入文檔2 Document doc2 = new Document(); doc2.loadFromFile("target.docx"); //遍歷文檔1中的所有子對象 for (int i = 0; i < doc1.getSections().getCount(); i++) { Section section = doc1.getSections().get(i); for( int j = 0;j< section.getBody().getChildObjects().getCount();j++) { Object object = section.getBody().getChildObjects().get(j); //複製文檔1中的正文內容添加到文檔2 doc2.getSections().get(0).getBody().getChildObjects().add(((DocumentObject) object).deepClone()); } } //保存文檔2 doc2.saveToFile("CopyDoc.docx", FileFormat.Docx_2013); doc2.dispose(); } }
Word示例文檔如下,將左邊的文檔內容複製到右邊的
Word文檔複製結果如下:
---THE END---