感谢该博主提出解决方案:https://blog.csdn.net/make_a_difference/article/details/53771136
最近在开发Android项目时,需要在应用内部打开Office资源文件。在查询了相关资料后得出了两种思路:
-
在后台统一资源格式,将Office格式转成PDF格式,Android端直接利用PDFView查看资源文件。
后端利用 OpenOffice + jodconverter 将Office转为PDF。 -
Android端利用POI解析Office,很不幸POI在Android中无法解析PPT文件,而且Word、Excel解析后排版不美观,解析能力差。
本人采取第一种方案:
搭建好 OpenOffice + jodconverter 后,转换doc(97-2003)时正常,但是转换 docx 时报了以下错误:
java.lang.IllegalArgumentException: unknown document format for file: E:\word.docx
查询了相关资料后,发现 jodconverter 2.2.1 版本不支持 docx、xlsx、pptx 转换。Maven 中也没有 2.2.2版本的,折腾了一番后终于找到解决方案,就是重写 jodconverter 中的BasicDocumentFormatRegistry
方法
package com.artofsolving.jodconverter;
import java.ut