admin 管理员组

文章数量: 887018

html图片转换word工具,GitHub

DailyTools

日常工具类,提供如下功能:

##将内容导出html

这一部分没有难点,主要讲利用导出的html转成word内容,这里需要注意的是在导出到html的时候,一要注意中文编码问题,

另外注意对字体字号等进行声明:

WORD中对字体的大小同时采用了两种不同的度量单位,其一是我们中国人所熟悉的“字号”,另外一种则是以“磅”为度量单位。

这两种度量字大小的单位之间是什么样的关系呢?下面就是二者的对应关系:

磅 字号

42 初号

36 小初

26 一号

24 小一号

22 二号

18 小二号

16 三号

15 小三号

14 四号

12 小四号

10.5 五号

9 小五号

7.5 六号

6.5 小六号

5.5 七号

5 八号

在html中pt 代表磅的单位。

另外一点需要注意,如果我的html中包含有图片,这个图片地址如果是网站外链,不需要做处理;如果是带有防盗链的图片地址

,还需要将图片的防盗链有效化,也就是要将图片中防盗链信息更换成有效的,比如我的防盗链中包含了sessionid ,

由于有效期只是在会话期间,所以这里需要需要把sessionid换成当前用户的有效sessionid .

##利用POI框架将html转成word

poi提供了将内容转成word的语法:

POIFSFileSystem poifs = new POIFSFileSystem();

DirectoryEntry directory = poifs.getRoot();

directory.createDocument(

"WordDocument", is);

fos = new FileOutputStream(this.outputPath);

poifs.writeFilesystem(fos);

那么这里内容既然直接就可以转成html,为什么还要先转成html呢?

这里是避免转成word的时候失真,而且在控制字体大小颜色,表格样式,图片大小和位置,直接通过POI进行更改格式比较麻烦。

这里就是先把内容,布局,样式等做好,转成html,然后利用POI将html转成word的时候是转成web大纲样式的,所以失真较少。

##分词功能

这里提供了分词的三种方法

一种是利用IKAnalyzer2012FF_u1.jar包,这个包是针对于Lucene4.0以上的,如果低版本请使用IKAnalyzer2012.jar;

两者在包的方法上都有差别。

这种分词的效果需要借助分词库才能精确分词,所以这里的工作量就转换成要建立一套合理的词库。

否则的话,这种方法对于专有名词分词效果很差,最差的情况下分成的全是单字,比如我搜索人名“王文路” ,

如果不加任何分词库的话,分出来的结果是 : “王” 、 “文” 、“路” ,这显示不是我想要的结果,

如果我分词以后是拿着分词结果做全局检索的话,我只想搜索出包含“王文路”的数据,结果将包含“王”、“文”、“路”的内容

全部都搜索出来了,这显然比我理想中的结果集要大很多,这里的难点就是和进行实时的补充词库、本体等;

另外一种是调用百度的APIStore 的API接口,百度实现的分词效果不错,就算连人名也会精确搜索出,

并且给出每一个分词结果的相关度

百度还提供了其他很多种API,可以通过一样的方法进行访问。

另外一种方法也是利用IKAnalyzer进行分词的,不同的是添加了配置文件,配置ext_dict 和 ext_stopwords , 需要添加配置文件和词典文件,这里需要注意的是IKAnalyzer.cfg.xml配置文件只能放在src根目录下,而词典也就是dic文件可以放在任何位置,需要在IKAnalyzer.cfg.xml配置文件中声明路径。

对于以上路径问题,如果是maven项目,并且词典文件也是放在src下,编译的时候并不会把src文件编译到target下,所以需要在pom.xml

中使src进入build目录

src/main/resources

**/*.dic

true

本文标签: html图片转换word工具 GitHub