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将图片插入原来做好标记的位置。

 

 

 

你可能感兴趣的:(软件管理,软件开发)