知方号

知方号

Java读取word文件,字体,颜色

Java读取word文件,字体,颜色

在Android读取Word文件时,在网上查看时可以用tm-extractors,但好像没有提到怎么读取Word文档中字体的颜色,字体,上下标等相关的属性。但由于需要,要把doc文档中的内容(字体,下划线,颜色等)读取应用到android中(不包括图片和图表)。

后面采用的是poi三方jar包(原包太大,可以从源代码里自己抽取有用的一些代码减少包的大小)。

我的想法是:把doc中的内容解析出来后,加上html对应的标签,在android中通过Html.fromHtml在TextView中进行显示,或者通过WebView.loadData进行加载显示

但测试后,发现如果加载太多内容的话,在Android中效率不行。

 

效果(该图的效果是在TextView中的效果,在WebView中效果会更好些):

doc图:

 

 

android图:

 

 

做法1:(解析为span样式的,这种做法只能用WebView方式加载,Html.fromHtml无效)

 

Java代码  /**Span样式      * 通过字体的样式进行加载      * @param inputStream      * @return      */      public static String readDocToSpanByRun(InputStream inputStream) {          HWPFDocument hwpfDocument = null;          if(inputStream == null)              throw new RuntimeException("inputStream is null ...");          try{              hwpfDocument = new HWPFDocument(inputStream);          }catch(Exception e) {              throw new RuntimeException("HWPFDocment Exception", e);          }          Range allRange = hwpfDocument.getRange();          int length = allRange.numCharacterRuns();          StringBuffer sb = new StringBuffer();          CharacterRun cur;          String text = "";          for (int i = 0; i > 8) & 0XFF;      }            public static int blue(int c) {          return (c >> 16) & 0XFF;      }            public static int rgb(int c) {          return (red(c) 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至lizi9903@foxmail.com举报,一经查实,本站将立刻删除。