一、具体实现思路

1、docx转html

使用docx4j获取dcox文档的xml文件内容,然后使用dom4j进行解析,对于不同的内容,新建pojo类,将解析的内容封装进去,然后统一转换为html;
由于pojo类过多,所以这里就不展示一个个展示,最后会提供下载地址,
其中word中某些样式提供自定义的属性,如编号、项目符号、标题等

2、html转docx

根据之前自定义的属性,使用jsoup将html内容进行解析,然后生成docx文档;

其中具体代码,大家可下载 https://download.csdn.net/download/qq_38635531/11965679

二、资源说明

Word文档在线编辑功能说明
一、支持的文件类型:docx类型文档(即word2007)
二、Word转为html格式后的html页面结构
除表格外、所有的内容都需要在p标签内(包括图片),如图:

三、支持转换的内容
1.标题,如图

现在支持标题1-标题7,转换为HTML后,如图:

所有的标题转换后都会在p标签上带有”data-class”属性,该属性的值为标题级别,在web页面进行编辑,设置新的标题时也应该带有此属性;

2.普通段落内容
普通的段落内容,可转换的样式包括:背景颜色、字体颜色、字体大小、部分字体、段落左间距、段落对齐方式(左对齐,居中对齐,右对齐,两端对齐)、行高、粗体、斜体、下划线、删除线;
以上对应的样式分别对应如下html:background-color(英文名称颜色)、color(#00000)、font-size(单位px)、font-family、margin-left、text-align、line-height、font-weight:bold、font-style:italic、text-decoration:underline、text-decoration:line-through;
在web页面进行设置新的段落样式时,需要一一对应,不然解析不了。

3.图片
图片内容仍然是包裹在p标签内,其中图片具备的样式及属性如下:
样式:图片的左间距主要体现在其父标签p上,如图:

属性:具备width,height,不带任何单位,如上图;src(已自动转换为通过接口获取图片的地址)

4.表格
表格转为html后,其table标签与p标签为同一级别,所有table标签必须要有data-class=”table”及table-widths=”12-11-22”(代表每一列表格的宽度,以”-”分隔),表格以及td(单元格)的边框线宽、颜色,如下表。
border-top-color 上边框颜色
border-top-width 上边框宽度
border-right-color 右边框颜色
border-right-width 右边框宽度
border-bottom-color 下边框颜色
border-bottom-width 下边框宽度
border-left-color 左边框颜色
border-left-width 左边框宽度

如图:

所有边框宽度均以8/125px作为单位

表格分为普通表格和单元格合并后的表格:
普通表格(未进行单元格合并):
目前默认表格边框为有,具体样式见示例。普通表格的单元格内会镶嵌一个p标签,作为td单元格的内容,这个p标签与上述普通段落相同。
单元格合并:
行单元格合并无需新增任何属性,只需colspan属性即可,如图:

列单元格和并除了要在合并的起始单元格新增rowspan外,还需新增row-style="restart"属性,如图

并且被合并的单元格(除起始单元格外)不需要删除,只需要将他们hidden,同时添加属性row-style=“continue”,如图:

5.编号
编号目前仅支持7种格式的转换,如图:

编号是以段落p为单位,在web页面添加编号时,只需在该段落p标签添加属性num-class,值为上图对应的值,编号的内容(如1.2.3.)则放在1.标签中,如图:

其中num-class值8-1中的8代表编号的样式,1是一个随机数,用来辨别哪些编号属于同一个序列(一组),在前台进行编辑时,选择编号时,也需要在p上添加num-class。

6.项目符号
项目符号仅仅支持2种,也是html中li标签的两种type,如图:

支持下图的前两种项目符号,与其他段落不同,直接以li标签代替p标签,同样有num-class,两种项目符号对应的num-class值为4和5

java实现word(docx)在线编辑(word转html,html转word)——代码实现相关推荐

  1. 图片转word表格在线教学,想知道图片转word表格怎么转吗?

    有时我们会收到一份图片形式的Word文件,要求我们进行转换.那么我们在办公时遇到图片转word表格怎么转呢?其实很多人第一反应会是手动录入,但是现在有很多方法都能直接将文字进行提取并使用.又有哪些能够 ...

  2. gridfs文件服务器,OWA实现Word在线编辑(以GridFs存储文件)

    OWA全称Office Web App,是用来做Office文档预览的一个很好的工具,通过一些配置文件的设置还可以实现Excel.PowerPoint的在线编辑功能,但对Word在线编辑并不支持.Gi ...

  3. Office word excel电子表格在线编辑的实现方法

    Office xp之后的版本支持通过webdav协议(http的扩展)直接编辑服务器上的文件. IIS(6.0)支持webdav,这在IIS管理器的web服务扩展中可以看到.利用IIS作为webdav ...

  4. Word处理控件Aspose.Words功能演示:在 Python 中将 Word DOCX 或 DOC 转换为 PDF

    Word 到PDF是最流行和执行最广泛的文档转换之一.DOCX或DOC文件在打印或共享之前会转换为 PDF 格式.在本文中,我们将在 Python 中自动将 Word 转换为 PDF.步骤和代码示例将 ...

  5. pdf转换成word转换器在线怎么用

    pdf转换成word转换器在线怎么用 导读:为什么PDF文件转换出来的Word文档时图片呢?为什么转换出来的文档时空白或是乱码.在线PDF转换成Word转换器哪个好?这是大家处理PDF文件格式转换过程 ...

  6. java office在线编辑_国外10个最受欢迎的 Java 开发的 CMS 系统

    CMS是Content Management System的缩写,意为"内容管理系统",它具有许多基于模板的优秀设计,可以加快网站开发的速度和减少开发的成本.CMS的功能并不只限于 ...

  7. pdf转换成word转换器在线使用效果

    pdf转换成word转换器在线使用效果 pdf转换成word转换器在线的转换效果如何? 目前国内专门针对PDF文件格式转换的软件当中,由于受到了PDF文件自身的转换技术的限制,其实际的转换效果一直不能 ...

  8. java语言编译_java在线编译-编译,java

    本教程分享:<java在线编译>, java在线编译网站或工具有哪些? 你做了很多了吧!很好,继续学吧! class.forName():加载的是指定的一个类 .class文件是由JAVA ...

  9. weboffice功能的实现:在线编辑,保护文档部分编辑,显示,下载

    点聚Weboffice IE 上的用法: Weboffice7文件夹是weboffice的文件: .cab是一个压缩形式的文件,里面包含了安装信息,IE会自动安装. Main.js是weboffice ...

  10. wps多人协作后怎么保存_重磅更新 | 在线编辑、多人协同……你们要的高效办公来啦!...

    曾经 一份10人团队的季度报告需要:耗时5+个工作日,10+个大版本修改,50+次重复沟通,200+次微信QQ文件传递. 现在 同样的一份报告,只需要:0次重复沟通,0次文件传递,1个大版本从一而终, ...

最新文章

  1. 分享一款超棒的jQuery旋钮插件 - jQuery knob
  2. [原创]Javascript类成员的作用域
  3. 谁是第三者之- Activity、Window、View
  4. 用python实现基本A*算法
  5. 1071svm函数 r语言_如何利用R语言中的rpart函数建立决策树模型
  6. puppy linux不识别鼠标,不止于OS X!还有适用于Mac的八款替代操作系统
  7. java复习系列[6] - Java集合
  8. ThinkPHP5 模型 - 事务支持
  9. 方正飞翔加密锁_方正飞翔6.0数字版注册机
  10. java获取基金实时数据_JAVA爬取天天基金网数据
  11. linux skype 4.3,在Arch Linux上安装Skype 4.3(最新版本)
  12. Linux-逻辑卷LVM
  13. 关于阿里云ACP认证的那些事儿
  14. RabbitMQ消息确认机制-可靠抵达
  15. 〖全域运营实战白宝书 - 运营角色认知篇⑦〗- 运营人的能力模型
  16. ElasticSearch查询实战之电商商城商品搜索
  17. 1.4 Qt工具之Qt Linguist介绍
  18. 此情可待成追忆——九山顶畅游随想曲(九)
  19. 微电子技术和计算机技术的区别,信息技术和计算机技术的区别是什么?
  20. #Python #微信 #消息防撤回 Python实现微信防撤回

热门文章

  1. 将SolidWorks物料清单导出到Excel时可带缩略图了!
  2. 【Unity】用2D流体实现在水中添加染料的效果
  3. Android 准确过滤(禁止) Emoji表情
  4. ExtJS中的renderTo何applyTo的差别
  5. sqlmap自动化注入工具使用浅析
  6. struts2拦截器实现登录限制
  7. 原生HTML table样式设置大全
  8. python爬app视频_用Python爬抖音APP短视频
  9. ActivityManagerService启动过程
  10. “创作大师——(PyTorch)RNN”