Java复制Word文档

一给  金牌会员 | 2022-9-19 16:08:04 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 541|帖子 541|积分 1623

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文件。
  1. <repositories>
  2.     <repository>
  3.         <id>com.e-iceblue</id>
  4.         <name>e-iceblue</name>
  5.         <url> https://repo.e-iceblue.cn/repository/maven-public/</url>
  6.     </repository>
  7. </repositories>
  8. <dependencies>
  9.     <dependency>
  10.         <groupId>e-iceblue</groupId>
  11.         <artifactId>spire.doc</artifactId>
  12.         <version>10.9.0</version>
  13.     </dependency>
  14. </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() 方法保存目标文档。
代码示例
  1. import com.spire.doc.*;
  2. public class CopyDoc {
  3.     public static void main(String[] args) {
  4.         //加载文档1
  5.         Document doc1 = new Document();
  6.         doc1.loadFromFile("input.docx");
  7.         //加载文档2
  8.         Document doc2 = new Document();
  9.         doc2.loadFromFile("target.docx");
  10.         //遍历文档1中的所有子对象
  11.         for (int i = 0; i < doc1.getSections().getCount(); i++) {
  12.             Section section = doc1.getSections().get(i);
  13.             for( int j = 0;j< section.getBody().getChildObjects().getCount();j++)
  14.             {
  15.                 Object object = section.getBody().getChildObjects().get(j);
  16.                 //复制文档1中的正文内容添加到文档2
  17.                 doc2.getSections().get(0).getBody().getChildObjects().add(((DocumentObject) object).deepClone());
  18.             }
  19.         }
  20.         //保存文档2
  21.         doc2.saveToFile("CopyDoc.docx", FileFormat.Docx_2013);
  22.         doc2.dispose();
  23.     }
  24. }
复制代码
  Word示例文档如下,将左边的文档内容复制到右边的

Word文档复制结果如下:

 
---THE END---

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

一给

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表