OA中常用的文档处理问题

做OA开发大概有一年多了,现在总结一下OA开发中我遇到的常用的文档处理。

 

问题描述:现在各种所见即所得的插件已经是很丰富了,用户填写一些内容的时候,往往是文字,图片,混填,但是根据用户填写的内容生成word文档的时候去发现一个问题。

用户富文本编辑器中保存的图片,没有办法直接保存到word文档中,这样一来,就会内容丢失。

 

 解决方案:利用freemarker + xml 或者volcity +vm 直接 先 制作模板,在将数据库中对应的字段,达成标签的形式,咱们开发的时候对允许上传图片的内容,尽心过滤,将原来的图片路径用特殊的标记进行替换。

 

等到生成word文档之后,再调用java2word 进行替换,将图片插入原来打标记的位置。

 Properties pro = new Properties();
   pro.setProperty(Velocity.OUTPUT_ENCODING, "gbk");

 

 pro.setProperty(Velocity.FILE_RESOURCE_LOADER_PATH, this.getClass()
     .getResource("/").toString().replaceAll("^file:/", "")
     .replaceAll("WEB-INF/classes", "")+"vm");

 

// 初始化并取得Velocity引擎
   VelocityEngine ve = null;
   try {
    ve = new VelocityEngine(pro);
   } catch (Exception e) {
    
    e.printStackTrace();
   }

   // 取得velocity的模版
   try {
    Template t = ve.getTemplate("index.vm", "gbk");
    VelocityContext context = new VelocityContext();

 

StringWriter writer = new StringWriter();
     // 转换输出
     t.merge(context, writer);

 

 

 

生成word文档,然后利用java2word将图片插入原来做好标记的位置。

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值