安卓APP支持office相对来说比较的繁琐,福利来了,我们换个想法,把word文档直接转换成html然后开启webApp模式开观看。瞬间解决了在自己的软件里面打开word文档。
下载JCOB核心源码
当然JCOB如果想要在windows的电脑下我们需要配置dll文件,具体可以百度jcob的文件配置。就不一一列出来了,下面来看核心代码:
// 8 代表word保存成html
public static final int WORD_HTML = 8;
/**
* WORD转HTML
*
* @param docfile
* WORD文件全路径
* @param htmlfile
* 转换后HTML存放路径
*/
public static void wordToHtml(String docfile, String htmlfile) {
// 启动word应用程序(Microsoft Office Word 2003)
ActiveXComponent app = new ActiveXComponent("Word.Application");
System.out.println("*****正在转换...*****");
try {
// 设置word应用程序不可见
app.setProperty("Visible", new Variant(false));
// documents表示word程序的所有文档窗口,(word是多文档应用程序)
Dispatch docs = app.getProperty("Documents").toDispatch();
// 打开要转换的word文件
Dispatch doc = Dispatch.invoke(
docs,
"Open",
Dispatch.Method,
new Object[] { docfile, new Variant(false),
new Variant(true) }, new int[1]).toDispatch();
// 作为html格式保存到临时文件
Dispatch.invoke(doc, "SaveAs", Dispatch.Method, new Object[] {
htmlfile, new Variant(WORD_HTML) }, new int[1]);
// 关闭word文件
Dispatch.call(doc, "Close", new Variant(false));
} catch (Exception e) {
e.printStackTrace();
} finally {
// 关闭word应用程序
app.invoke("Quit", new Variant[] {});
}
System.out.println("*****转换完毕********");
}
上述代码 我们可以直接拿到对应的word的文档的html或者直接修改后缀之类的在app里面的观看,当然 我给出的源码是在windows下的应用程序。APP同理,so看下截图效果:
另外看下我转换出来的文件: