Java复制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---

浙公网安备 33010602011771号