对于许多用户来说,在 Microsoft Word 文档之间传输内容很常见。无论是要整合分散在多个文件中的信息,还是需要重复使用现有的文本和其他元素,高效复制粘贴文档之间的内容可以节省许多时间和精力。
本文将介绍怎样使用 Spire.Doc for Java 和 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>12.11.9</version>
</dependency>
</dependencies>
将指定段落从一个 Word 文档复制到另一个文档
Spire.Doc for Java 为在 Microsoft Word 文档间复制内容提供了一种灵活的方式。即复制单独的段落然后将它们添加到另一个文档中。
要将指定段落从一个 Word 文档复制到另一个文档,你可以参考下面的步骤:
- 加载源文档到 Document 类的对象中。
- 加载目标文档到另一个 Document 类的对象。
- 确定需要复制的段落。
- 使用 Paragraph.deepClone() 方法创建选定段落的副本。
- 通过 ParagraphCollection.add() 方法将复制的段落添加到目标文档中。
- 将目标文档保存为新的 Word 文档
- Java
import com.spire.doc.Document;
import com.spire.doc.FileFormat;
import com.spire.doc.Section;
import com.spire.doc.documents.Paragraph;
public class CopyParagraphs {
public static void main(String[] args) {
// 创建一个 Document 类的对象
Document sourceDoc = new Document();
// 加载源文档
sourceDoc.loadFromFile("样本1.docx");
// 获取指定节
Section section = sourceDoc.getSections().get(0);
// 从 Word 文档中获取特定段落
Paragraph p1 = section.getParagraphs().get(3);
Paragraph p2 = section.getParagraphs().get(4);
// 创建另一个 Document 类的对象
Document targetDoc = new Document();
// 加载目标文档
targetDoc.loadFromFile("空白文档.docx");
// 获取最后一节
Section lastSection = targetDoc.getLastSection();
// 将从源文档获取的段落添加到目标文档中
lastSection.getParagraphs().add((Paragraph)p1.deepClone());
lastSection.getParagraphs().add((Paragraph)p2.deepClone());
// 将目标文档另存为新的 Word 文档
targetDoc.saveToFile("复制段落.docx", FileFormat.Docx_2019);
// 释放资源
sourceDoc.dispose();
targetDoc.dispose();
}
}
将一节从一个 Word 文档复制到另一个文档
复制 Microsoft Word 文档中的内容时,特别需要考虑到一个节中不止包含段落,还有其它的元素,如表格。为了能够将完整的节从一个文档转移到另一个文档中,你需要遍历该节中的所有子对象,并将它们逐一添加到目标文档的指定节。
下面就是在不同文档间复制节的步骤:
- 分别创建 Document 类的对象,用以加载源文档和目标文档。
- 从源文档中获取特定的节。
- 遍历该节中的所有子对象。
- 使用 DocumentObject.deepClone() 方法克隆特定子对象。
- 通过 DocumentObjectCollection.add() 方法将克隆的子对象添加到目标文档的指定节中。
- 将修改后的文档保存为新的 Word 文档。
- Java
import com.spire.doc.Document;
import com.spire.doc.DocumentObject;
import com.spire.doc.FileFormat;
import com.spire.doc.Section;
public class CopySection {
public static void main(String[] args) {
// 创建一个 Document 类的对象
Document sourceDoc = new Document();
// 加载源文档
sourceDoc.loadFromFile("样本1.docx");
// 从源文档中获取指定节
Section section = sourceDoc.getSections().get(0);
// 实例化另一个 Document 类的对象
Document targetDoc = new Document();
// 加载目标文档
targetDoc.loadFromFile("空白文档.docx");
// 获取目标文档的最后一节
Section lastSection = targetDoc.getLastSection();
// 遍历选定节中的子对象
for (int i = 0; i < section.getBody().getChildObjects().getCount(); i++) {
// 获取指定子对象
DocumentObject childObject = section.getBody().getChildObjects().get(i);
// 将子对象添加到目标文档的最后一节
lastSection.getBody().getChildObjects().add(childObject.deepClone());
}
// 保存修改后的目标文档
targetDoc.saveToFile("复制节.docx", FileFormat.Docx_2019);
// 释放资源
sourceDoc.dispose();
targetDoc.dispose();
}
}
将整个文档复制粘贴到另一个文档中
使用 Document.insertTextFromFile() 方法就能将一个 Word 文档的全部内容复制到另一个文档中。这个方法使你可以将源文档中的的内容无缝添加到目标文档中。
下面是复制文档全部内容并将其添加到另一个文档的步骤:
- 创建一个 Document 类的对象以表示目标文档。
- 从给定文件路径加载目标文档。
- 使用 Document.insertTextFromFile() 方法将另一个文档的内容插入到目标文档。
- 保存结果文档到本地。
- Java
import com.spire.doc.Document;
import com.spire.doc.FileFormat;
public class CopyEntireDocument {
public static void main(String[] args) {
// 明确源文档的文件路径
String sourceFile = "样本1.docx";
// 创建 Document 类的对象
Document targetDoc = new Document();
// 加载目标文档
targetDoc.loadFromFile("空白文档.docx");
// 将源文档的内容插入到目标文档中
targetDoc.insertTextFromFile(sourceFile, FileFormat.Docx);
// 将目标文档保存为新的 Word 文档
targetDoc.saveToFile("复制整个文档.docx", FileFormat.Docx_2019);
// 释放资源
targetDoc.dispose();
}
}
创建 Word 文档的副本
Spire.Doc for Java 提供了一种简单的方法,通过 Document.deepClone() 方法来创建 Microsoft Word 文档的副本。
你可以参照下面的步骤来创建 Word 文档的副本:
- 创建一个 Document 类的对象以表示源文档。
- 从给出的文件路径加载 Word 文档。
- 通过 Document.deepClone() 方法创建该文档的副本。
- 将副本保存为新的 Word 文档。
- Java
import com.spire.doc.Document;
import com.spire.doc.FileFormat;
public class DuplicateDocument {
public static void main(String[] args) {
// 创建新的 Document 对象
Document sourceDoc = new Document();
// 加载一个 Word 文档
sourceDoc.loadFromFile("样本1.docx");
// 克隆该文档
Document newDoc = sourceDoc.deepClone();
// 将克隆的文档保存为 docx 格式的文件
newDoc.saveToFile("副本.docx", FileFormat.Docx);
// 释放资源
sourceDoc.dispose();
newDoc.dispose();
}
}
申请临时 License
如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请该Email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用JavaScript。获取有效期 30 天的临时许可证。