本文介绍在java程序中如何复制word文档。复制方法均以带格式复制,代码示例将从以下要点展示:

复制word正文内容,可支持包括文本、图片、表格、超链接、书签、批注、形状、编号列表、脚注、尾注等在内的多种元素。复制时,可复制整篇文档内容和复制指定段落内容

复制word页眉页脚,包括页眉页脚中的文本、图片、页码域等等

复制word水印效果,包括文本水印、图片水印

工具:free spire.doc for java(免费版)可。参考如下导入效果:

用于测试的两个文档如下,将左边文档内容复制到右边的文档:

【示例1】复制word正文内容

1.1 复制整篇文档内容

import com.spire.doc.*;

public class copydoc {

public static void main(string[] args) {

//加载文档1

document doc1 = new document();

doc1.loadfromfile("test.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();

}

}

复制效果(这里复制的效果不含水印、页眉页脚等内容):

1.2 复制指定段落内容

import com.spire.doc.*;

import com.spire.doc.documents.paragraph;

public class copypara {

public static void main(string[] args) {

//加载文档1

document doc1 = new document();

doc1.loadfromfile("test.docx");

//获取文档1中的第三段

section section1 = doc1.getsections().get(0);

paragraph paragraph = section1.getparagraphs().get(2);

//加载文档2,获取section

document doc2 = new document();

doc2.loadfromfile("target.docx");

section section2 = doc2.getsections().get(0);

//复制文档1中段落,添加到文档2

paragraph newparagraph = (paragraph) paragraph.deepclone();

section2.getparagraphs().add(newparagraph);

//保存文档2

doc2.savetofile("copypara.docx",fileformat.docx_2013);

doc2.dispose();

}

}

段落复制结果:

【示例2】复制word页眉页脚

import com.spire.doc.*;

public class copyheaderfooter {

public static void main(string[] args) {

//加载文档1

document doc1 = new document();

doc1.loadfromfile("test.docx");

//获取section

section section1 = doc1.getsections().get(0);

//获取文档1的页眉页脚

headerfooter header = section1.getheadersfooters().getheader();

headerfooter footer = section1.getheadersfooters().getfooter();

//加载文档2

document doc2 = new document();

doc2.loadfromfile("target.docx");

//遍历文档2的section

for (int i = 0; i< doc2.getsections().getcount();i++)

{

section section2 = doc2.getsections().get(i);

//遍历页眉中的对象

for(int j = 0 ; j< header.getchildobjects().getcount();j++)

{

//获取页眉中的所有子对象

object object1 = header.getchildobjects().get(j);

//复制文档1的页眉添加到文档2

section2.getheadersfooters().getheader().getchildobjects().add(((documentobject) object1).deepclone());

}

//同理复制页脚

for(int z = 0 ; z< footer.getchildobjects().getcount();z++)

{

object object2 = footer.getchildobjects().get(z);

section2.getheadersfooters().getfooter().getchildobjects().add(((documentobject) object2).deepclone());

}

}

//保存文档2

doc2.savetofile("copyheaderfooter.docx",fileformat.docx_2013);

doc2.dispose();

}

}

页眉复制效果:

页脚复制效果:

【示例3】复制word水印

import com.spire.doc.*;

public class copywatermark {

public static void main(string[] args) {

//加载文档1

document doc1 = new document();

doc1.loadfromfile("test.docx");

//加载文档2

document doc2 = new document();

doc2.loadfromfile("target.docx");

//获取文档1的水印效果,设置到文档2

doc2.setwatermark(doc1.getwatermark());

//保存文档2

doc2.savetofile("copywatermark.docx",fileformat.docx_2013);

doc2.dispose();

}

}

水印复制效果(此方法均适用于复制文本水印或图片水印):

注:对于文档结构比较复制的word,可综合以上方法来进行复制,查看复制效果。

(完)

如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!

java word 复制_Java 复制Word文档相关推荐

  1. java pdf打印_Java 打印PDF文档

    本文将介绍如何在Java应用程序中打印PDF文档.一般有以下三种常见打印方式:静默打印 显示打印对话框打印 打印PDF时自定义纸张大小 使用工具:Free Spire.PDF for Java 创建运 ...

  2. java smart算法_Java Restful API 文档生成工具 smart-doc

    谁说生成api文档就必须要定义注解? 谁说生成接口请求和返回示例必须要在线? 用代码去探路,不断尝试更多文档交付的可能性. 如果代码有生命,为什么不换种方式和它对话! 一.背景 没有背景.就自己做自己 ...

  3. Word处理控件Aspose.Words功能演示:在 Java 中将内容从 Word 文档复制到另一个文档

    Aspose API 支持旗下产品覆盖文档.图表.PDF.条码.OCR.CAD.HTML.电子邮件等各个文档管理领域,为全球.NET .Java.C ++等10余种平台开发人员提供丰富的开发选择. 在 ...

  4. word复制到另一个文档,endnotes出现乱码处理

    word复制到另一个文档,endnotes出现乱码处理 解决办法 今天编辑文章,使用endnotes非常丝滑,后来出于需要,新建了word2文档以后,把word1文档里的内容复制粘贴过去,结果出现了一 ...

  5. Word控件Spire.Doc 【段落处理】教程(五):如在 C#、VB.NET 中将 Word 段落从一个文档复制到另一个文档

    复制 Word 段落时,用户可以选择仅复制文本或复制段落的所有元素,例如格式.图像.超链接等.本指南中的解决方案介绍了如何在 C# 中将 Word 段落(文本和格式)从一个文档复制到另一个文档和VB. ...

  6. Word处理控件Aspose.Words功能演示:使用 Python 将 Word 文档的内容复制到另一个文档

    在各种情况下,您可能需要将 Word 文档的内容复制到另一个文档中.此外,您可能需要创建原始 Word 文档的克隆.为了自动化这些操作,本文介绍了如何在 Python 中将内容从一个 Word 文档复 ...

  7. java根据pdf模板生成pdf_Java 复制、压缩PDF文档

    在日常办公中,掌握操作PDF文档的能力尤为重要.在前文中我使用Java程序来演示过如何合并和拆分PDF文档.本文将介绍如何复制和压缩文档.通常复制文档有两种形式,一种是跨文档复制,即将一个文档复制到另 ...

  8. java操作office和pdf文件java读取word,excel和pdf文档内容

    在平常应用程序中,对office和pdf文档进行读取数据是比较常见的功能,尤其在很多web应用程序中.所以今天我们就简单来看一下Java对word.excel.pdf文件的读取.本篇博客只是讲解简单应 ...

  9. java word设置纸张a3,Word中进行设置A3文档纸张大小的操作技巧

    在工作中最常用的纸质文档是A4的,但是我们有时候也需要用一些A3甚至其他纸张的文档,那么,在做文档的时候该如何设置呢?今天,学习啦小编就教大家在Word中进行设置A3文档纸张大小的操作技巧. Word ...

  10. office文档管理服务器编辑,_卓正软件 - PageOffice官方网站 - 在线编辑Word、Excel的Office文档控件...

    Office 组件 在线显示.编辑.保存Word文档 √ √ √ 在线显示.编辑.保存Excel文档 √ √ √ 在线显示.编辑.保存PowerPoint文档 √ √ √ 在线播放PowerPoint ...

最新文章

  1. html文本框填充颜色逐渐减少,web前端面试题之htmlcss篇
  2. 收藏|MySQL常用语法小结
  3. php常量数组吗,包含数组的PHP常量?
  4. 文本强制不换行并隐藏
  5. java ssm 系统的搭建_SSM框架下的javaweb学生管理系统--搭建系统结构
  6. background-image属性设置图片尺寸_Matlab | 批量修改图片尺寸及图片灰度化
  7. 比尔·盖茨:我不认为中国AI能弯道超车
  8. java考勤表导出_考勤打卡机导出的excel考勤时间表如何生成实用的考勤表
  9. tplink迷你路由器中继模式_[转载]TL-WR800N迷你型无线路由器Repeater模式(中继模式)设置教程...
  10. 中国大陆新身份证号码算法
  11. 卡内基梅隆大学计算机硕士专业,2020年卡内基梅隆大学专业设置
  12. CAD、mapgis、excel转换为coreldraw技巧方法-来自《地球科学》姚戈
  13. 50个ospf经典问题
  14. 四平方数和定理(leetcode 279 python)
  15. Python第三方库之MedPy
  16. 一文读懂什么是cookie和session。
  17. django3.2连接虚拟机里的openGauss
  18. weblogic1213打补丁报错,对 ORACLE_HOME/.patch_storage 没有读权限或写权限
  19. 【坑点】Intellij Idea 出现“Unable to parse template”问题
  20. [重学Java基础][Java IO流][Exter.1]Apache Commonms Compress压缩工具包

热门文章

  1. chrome新版安装flash控件失败解决方法
  2. 二等分计算机打印机尺寸,[有赞零售] 【教程贴】打印机如何设置一等分、二等分、三等分打印尺寸...
  3. linux 日期、星期简写
  4. 好用又好玩的微信小程序大全
  5. repost ACM算法学习三境界---王国维人间词话
  6. 2020年度软件和信息技术服务竞争力前百家企业名单出炉 —— 旋极信息再次荣登榜单
  7. RISC-V MCU 智能语音物联网家居控制系统
  8. JS05-循环的嵌套demo
  9. 中标麒麟(NeoKylin7)下达梦数据库(DM8)的安装部署
  10. 两个小米路由器mini无线桥接