http://www.chendd.cn/information/viewInformation/other/253.a
关于docx4j中如何使用图片,如果我不讲到在文档中使用图片,未免我所讲述的知识也太肤浅了吧,言归正传,我在这里给文档插入图片围绕编程式和模板式(我自己这么称的,就是想表达利用模板去实现的意思)的,并且重要的是插入图片的方式有也有两种最常用的“嵌入型”和“衬于文字下方”,我认为这两种才是经常被使用到的。
由于之前也是看到有同事在做word报表时,使用到了盖章的图片,这种盖章的图片就是将插入的图片设置“悬浮”的效果,浮动于一些文本之上,达到一种盖上去的效果。由于使用过这种效果,所以在研究如何插入图片并且可以实现衬于文字下方时的时候,这个问题没搞清楚也一直阻碍我往下进行的脚步。我也尝试着使用前文中的草稿的方式进行编程式的解决,后来没有行通,也查阅了许多资料,均无果,后来查看了一下docx4j提供的插入图片的源码,终于找到了线索。。。。。在源码类BinaryPartAbstractImage.java中隐藏着真相(它里面提供的插入图片的实现,是采用xml模板的方式实现的),提供的插入图片为嵌入型的(函数为createImageInline),由于之前查看的浮动式图片的xml文本的属性标签为Anchor,就查看了一下这个图片处理类的源码,发现关于Anchor的几个方法都给注释掉了,于是将取消注释后,进行代码调用测试,后来又更改了代码中的几个位置,最终运行OK,图片也成为了我期待的效果,参考修改的代码截图为:
对于衬于文字下方和上方方式的具体设置参考如下图(通过新建文档后docx