java生成文字与图片_java生成word(文字和图片)

1、整体思路

利用xml模板,在模板中预留占位标识(${yourContent}),然后将xml转为ftl文件,通过Map传值填充对应的内容即可,word其实和html一样,也有自己的xml标签,表头、段落、图片、以及字体、标题等的标签。文字必须包含在段落中,如:

${yourContent}

,图片必须是在

${image}

其中、和有几个必填参数,后面的代码会涉及到。集合的循环遍历通过${alias.property}...#list>方式实现。

2、生成模板

新建word模板,设置自己要替换的内容。比如下面例子:

我的文档

作者:author 时间:time 内容:content

把新建好的word导出成word2003xml文件,然后将author改成${author},time改成${time},content改成${content}然后修改后缀名为ftl文件,存到项目里面。

3、替换内容

实际操作中,不光会遇到纯文字的,经常会遇到文字加图片。图片的实现:先转换成base64的字符串,然后填充到图片的标签中(网络图片,必须先下载到本地才能转换)。下面是转换的代码:

----------

/**

* 替换内容中的图片,样式

*

* @param content

* @return

* @throws Exception

*/

public String replaceImage(String content) throws Exception {

try {

            Pattern p = Pattern.compile("]+src\\s*=\\s*['\"]([^'\"]+)['\"][^>]*>");

Matcher m = p.matcher(content);

int i = 0;

content = StyleFilter.shieldStyle(content);

while (m.find()) {

String width = getWidth(m.group());</

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值