对于许多用户来说,在 microsoft word 文档之间传输内容很常见。无论是要整合分散在多个文件中的信息,还是需要重复使用现有的文本和其他元素,高效复制粘贴文档之间的内容可以节省许多时间和精力。
本文将介绍怎样使用 spire.doc for java 和 java 将一个 word 文档的内容复制到另一个文档。
安装 spire.doc for java
首先,您需要在 java 程序中添加 spire.doc.jar 文件作为依赖项。您可以从这个链接下载 jar 文件;如果您使用 maven,则可以通过在 pom.xml 文件中添加以下代码导入 jar 文件。
com.e-iceblue
e-iceblue
https://repo.e-iceblue.cn/repository/maven-public/
e-iceblue
spire.doc
13.3.0
将指定段落从一个 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 天的临时许可证。