11、docx4j生成文档格式转换

基本介绍 在继本篇文章后,关于docx4j的知识点要完结了,个人认为已经实现了企业级应用中的绝大多数的高端应用的具体实现,另外更多的一些具体实现不准备继续下去了,如果后面有需求实现了再补充。 关于docx文档的转换,常用到的我觉得是这三种:docx转换为doc、docx转换为html、docx转换为pdf,就这三种,本例也是将docx4j中提供的这三种给整理了一下,源文件是之前写的一份word文档《我的增量补丁整理软件》(介绍一款增量补丁自动化的软件实现),文中内容含有不同格式的字体、样式、文本缩进、间距、颜色、图片等系列相关的内容,转换后的效果也是比较好的,参考输出的内容如下: 转换为pdf格式,在转换时也报了一些错误,分析代码发现它去网络上获取东西,之前一直以为是这里的网络访问问题,后来将docx4j提供的所有的jar引入后,就可以访问了,所以并不是这个网络的问题,如下: 转换为doc...

文章分类:后端一部分 开源项目 Docx4J

docx4j

10、docx4j实现动态表格(模板式)单元格合并(含多列并列合并)

基本介绍 基于模板的动态单元格合并效果,以前在深入了解Jxls2.X的时候,写过一版在Excel中实现的多列并列合并处理效果,于是直接拷贝过来,对于Word里的表格来讲仍然合适,关于这个合并在Excel里面的效果时可转至Jxls2.X的相关文章查看,本篇文章重点在于在一个含有表格的模板中实现表格数据的动态循环,并且根据预置的要合并1、2、3列号,代码的实现即按照数据去进行合并展示,模板参考如下: 代码参考 package cn.chendd.docx4j.examples; import java.io.File; import java.util.ArrayList; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; import javax.xml.bind.JAXBExceptio...

文章分类:后端一部分 开源项目 Docx4J

docx4j

9、docx4j实现动态表格(编程式)单元格合并

基本介绍 凡是表格都会涉及到单元格合并效果,本篇文章主要是以编程式的方式给大家实现一些单元格合并的效果,包括有横向合并、纵向合并、多列(既包括横向也包含纵向)合并,在示例中我先用编程式的方式创建一个表格作为原表格,并且设置这个表格边框及背景色(待合并区域均有背景色区分),再创建一个表格用作于单元格合并,直接上截图和代码,参考如下: 待合并表格效果 合并后的表格效果 参考代码 package cn.chendd.docx4j.examples; import java.io.File; import java.math.BigInteger; import org.docx4j.jaxb.Context; import org.docx4j.openpackaging.packages.WordprocessingMLPackage; import org.docx4j.openpackag...

文章分类:后端一部分 开源项目 Docx4J

docx4j

8、docx4j实现动态表格(模板式)

背景介绍 除了前篇文章中讲到的编程式创建表格外,基于模板实现的列表表格也是非常常用或者有用的,前面的文章中我也说过关于模板我只实现基于jxel模板引起的解析方式,故本篇文章中的示例为实现一个静态表格数据和动态循环列表数据的实现,以及基于模板式表格的样式调整,参考模板截图如下: 参考代码 package cn.chendd.docx4j.examples; import java.io.File; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import org.docx4j.Docx4J; import org.docx4j.TraversalUtil; import org.docx4j.XmlUtils; import org.doc...

文章分类:后端一部分 开源项目 Docx4J

docx4j

7、docx4j实现动态表格(编程式)

基本介绍 表格列表可能是使用最为广泛的效果了,无论是各种需求都可能会涉及到,这里所讲到的所有关于表格的东西均不涉及表格嵌套,换句话讲我在研究这些表格的时候并未对表格的嵌套进行分析。至于使用编程式的方式创建一个表格非常简单,无非就是Tbl、Tr、Tc这些,但是如果就这些对象你会发现创建出来的表格没有边框,不会居中这些之类的,在本篇文章中所涉及到的实现一个表格包括表格的边框线、边框颜色、表格宽度、单元格宽度这些,参考实现效果图如下: 参考代码 package cn.chendd.docx4j.examples; import java.io.File; import java.math.BigInteger; import org.docx4j.jaxb.Context; import org.docx4j.openpackaging.packages.WordprocessingMLPack...

文章分类:后端一部分 开源项目 Docx4J

docx4j

6、docx4j中图片的使用(模板式)

基本介绍 前面一章节讲到的docx4j中使用图片的方式为编程式的方式,如果关于图片的就只有这么点未免也确实不够深入,本篇文章继续讲在docx4j总使用图片的方式,基于模板来使用,一般情况下某些需求的图片为固定图片,可以直接通过在模板中添加图片后即可,但既然是对于图片的cao作,我们就来实现一下对于读docx文件里面的图片,将其覆盖的实现,从而实现图片的动态插入(修改或替换)。 假设现在要在一个docx的模板文件中将一些个图片进行替换,可能有的方式为在模板文件中创建一个“标记”,然后循环文档中的这些特殊标记将其插入为图片即可,但我这里采取的方式为在模板中预先插入一个同等大小的图片,并且调整好样式,然后用程序将图片替换即可,至于图片的现有样式(布局、显示位置等)从模板中图片中获取。模板文件参考图如下: 参考代码 在上图的同等大小的占位图处,含有图片的浮动方式、位置等参数,生成的新文件会将其替换...

文章分类:后端一部分 开源项目 Docx4J

docx4j

5、docx4j中图片的使用(编程式)

基本介绍 关于docx4j中如何使用图片,如果我不讲到在文档中使用图片,未免我所讲述的知识也太肤浅了吧,言归正传,我在这里给文档插入图片围绕编程式和模板式(我自己这么称的,就是想表达利用模板去实现的意思)的,并且重要的是插入图片的方式有也有两种最常用的“嵌入型”和“衬于文字下方”,我认为这两种才是经常被使用到的。 由于之前也是看到有同事在做word报表时,使用到了盖章的图片,这种盖章的图片就是将插入的图片设置“悬浮”的效果,浮动于一些文本之上,达到一种盖上去的效果。由于使用过这种效果,所以在研究如何插入图片并且可以实现衬于文字下方时的时候,这个问题没搞清楚也一直阻碍我往下进行的脚步。我也尝试着使用前文中的草稿的方式进行编程式的解决,后来没有行通,也查阅了许多资料,均无果,后来查看了一下docx4j提供的插入图片的源码,终于找到了线索。。。。。在源码类BinaryPartAbstractIm...

文章分类:后端一部分 开源项目 Docx4J

docx4j

4、docx4j中模板的使用

基本描述 关于模板的实现是日常开发中最常用到的,也是最易于维护的一种功能实现,利用模板可以非常高效的去实现文档内容的布局显示级相关属性的设置,同时利用docx文件作为模板也非常方便的进行二次修改和变更,它的好处不再赘述。 通过运行一列示例发现docx4j的关于模板的实现至少有3-4中方式,模板有常用的jxel表达式的写法、Word自带书签的写法、《》中文括号包裹的写法、Word中开发工具-设计模式实现的写法等等,既然能够读取到文档中的各种内容,自己想如何解析都是可以的,本文(和后文中)均采用类似jxel表达式引擎的方式去深入实现。 给出两种案例去实现基于模板中的变量替换cao作,采用docx4j提供的变量替换的方式,分别是“请假条”和“收入证明”两种单纯变量替换的实现,这两个模板示例中只包括了纯变量替换和含有图片,至于模板中有表格或者动态图片后文会实现。 关于“请假条”案例的模板文件参考为...

文章分类:后端一部分 开源项目 Docx4J

docx4j

3、docx4j一个包含多种样式的段落实现

基本描述 如题,本文使用编程式的方式去实现一个段落文本的各种样式cao作,跟前篇文章中是同样的道理,我们一样先采用草稿的方式去观察这种多样式段落的xml结构,再将这种xml结构转换为使用Java对象的方式去处理,关于本段落的文本所有涉及到的样式有:字体、大小、颜色、居中、粗体、斜体、删除线(中线)、下划线(波浪线),最终实现效果图参考如下: 参考代码 参考代码实现如下: package cn.chendd.docx4j; import java.io.File; import java.math.BigInteger; import org.docx4j.jaxb.Context; import org.docx4j.openpackaging.packages.WordprocessingMLPackage; import org.docx4j.openpackaging.parts.W...

文章分类:后端一部分 开源项目 Docx4J

docx4j

2、docx4j一个专业的hello world入门程序介绍

基本介绍 关于这个 hello world 的示例本来准备放在第一篇文章中的,但是后来觉得一个能够轻松入门的程序也尤为重要,毕竟由于docx4j很强大,对于入门并且能够深入的来说才是最主要的,本篇文章主要是编程式的代码实现一个单文本的代码实现。 首先,我们先新建一个docx文档,并且写入文本“hello,陈dd”,然后使用解压缩软件打开这个docx文档,找到document.xml,打开后发现它是有这么一堆的xml标签构成的,p作为一个段落标记,r为一小块,rpr为相应快的样式属性集,t对应的为文本标签,参考如下图所示: 其实这个图并不太友好,之前在Word2007下创建的一个段落文本为<w:p><w:r><w:rPr><w:rFonts w:hint="eastAsia"/></w:rPr><w:t>hello,陈dd</w:t></w:r></w:p>,所有的文本内容均在一个t标签内,...

文章分类:后端一部分 开源项目 Docx4J

docx4j
本站信息

 运营时间: 天

 用户数量: 人

 文章数量: 篇

 评论数量: 条

 点赞个数: 个

 最后更新:

标签云