OutSideIn是oracle公司提供的一个文档转换库(闭源), 支持常见的office,pdf等二百多种文件.
鉴于项目需要读取多种文件格式, 我决定将所有格式都转成html格式.(参见其sdk下的exsimple示例)
使用方式: ./exsimple 11.doc 11.html
这样会在同一目录下生成11.html(若源文档中有图片, 则会把图片导到同一目录下, html文件中做img标签).
若想只生成一个单一的html文档, 则可以把图片数据做base64编码, 再内嵌到img标签中.
OutSideIn提供的debian系统下的64位库无法处理文档中的图片, 原因是少了三个库: libfreetype.so.6 libos_gd.so libwv_gdlib.so
网上查找了许久, 没有这三个库的64位版本.
于是, 我想了个办法, 就是在64位系统中调用32位程序. 主要是安装三个debian包:
lib32gcc1_4.4.5-8_amd64.deb
lib32z1_1.2.3.4.dfsg-3_adm64.deb
libc6-i386_2.11.3-3_amd64.deb
安装时用上--force-depends选项. (sudo dpkg --force-depends -i *.deb).