前言
Microsoft Word 提供了许多易于应用的文档操作工具,同时也提供了丰盛的功能集供创立简单的文档应用。在应用的时候,你可能须要复制一个文档外面的内容到另一个文档。本文介绍应用Spire.Doc for Java通过编程的形式来复制Word文档的办法,复制的内容可反对包含文本、图片、表格、超链接、书签、批注、形态、编号列表、脚注、尾注等等在内的多种元素。
程序环境
装置 Spire.Doc for Java
首先,您须要在Java程序中增加Spire.Doc.jar文件作为依赖项。 JAR文件能够从此链接下载。如果您应用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.8</version> </dependency></dependencies>
留神:下面代码中的版本号要与下载连贯中的版本号保持一致,以体验最新性能或者防止BUG。
复制 Word 文档
Spire.Doc for Java 提供了应用Document.add(((DocumentObject) object).deepClone())办法将原文本的内容复制到指标文档。
步骤
- 创立一个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示例文档如下,将右边的文档内容复制到左边的
复制后果如下:
提醒:该JAR 包有免费版和商业版之分,免费版有性能和篇幅限度,篇幅很少可放心使用,若要体验残缺性能,能够申请30天长期收费license应用商业版。
---THE END---