首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在android中将office文档转换为html

如何在android中将office文档转换为html
EN

Stack Overflow用户
提问于 2014-05-13 05:12:02
回答 1查看 2.8K关注 0票数 6

我们可以转换微软的办公文档(doc,docx,ppt,pptx,xls,xlsx等等)吗?在Android中的html字符串中。我需要在我的应用程序中显示办公室文件。我搜索并找到了docx4j、apache和http://angelozerr.wordpress.com/2012/12/06/how-to-convert-docxodt-to-pdfhtml-with-java/来转换html中的文件。这种方法在桌面版本中运行得很好。但在android中使用时,我会“无法转换为Dalvik格式的错误1”。这可能是因为在我的android项目中使用了太多的jars。我想知道在android中是否有一种将office文档转换为html的方法。英语很抱歉。

编辑

现在我可以使用apache将doc转换为html。这是方法

代码语言:javascript
运行
复制
public void showsimpleWord() {
    File file = new File("/sdcard/test.doc");

    HWPFDocumentCore wordDocument = null;
    try {
        wordDocument = WordToHtmlUtils.loadDoc(new FileInputStream(file));
    } catch (Exception e1) {
        // TODO Auto-generated catch block
        e1.printStackTrace();
    }

    WordToHtmlConverter wordToHtmlConverter = null;
    try {
        wordToHtmlConverter = new WordToHtmlConverter(
                DocumentBuilderFactory.newInstance().newDocumentBuilder()
                        .newDocument());
        wordToHtmlConverter.processDocument(wordDocument);
        org.w3c.dom.Document htmlDocument = wordToHtmlConverter
                .getDocument();
        ByteArrayOutputStream out = new ByteArrayOutputStream();
        DOMSource domSource = new DOMSource(htmlDocument);
        StreamResult streamResult = new StreamResult(out);
        TransformerFactory tf = TransformerFactory.newInstance();
        Transformer serializer = tf.newTransformer();
        serializer.setOutputProperty(OutputKeys.ENCODING, "UTF-8");
        serializer.setOutputProperty(OutputKeys.INDENT, "yes");
        serializer.setOutputProperty(OutputKeys.METHOD, "html");
        serializer.transform(domSource, streamResult);
        out.close();
        String result = new String(out.toByteArray());
        System.out.println(result);
        ((WebView) findViewById(R.id.webview)).loadData(result,
                "text/html", "utf-8");

    } catch (Exception e) {
        e.printStackTrace();
    }
}

现在在寻找其他人。

EN

回答 1

Stack Overflow用户

发布于 2014-08-11 21:00:17

虽然在android设备上确实可以将word文档转换为HTML,但由于存在许多问题,这是不可取的。(也就是说,android的处理能力和内存有限,以及大多数设计用于处理MS Office文件的库存在兼容性问题),正如他们都提到的,最好是在转换服务器端。尽管如此,如果考虑到您的情况,这是不可能的,那么您可能想看看this stackoverflow question

问者似乎有一个与你相似的问题。(假设我正确地理解了你的问题)海报在讨论的中途回答了他们自己的问题,并在评论中提供了一个链接到他自己的答案。他在解决方案中使用Apachi POI库,但是将库分解成几个较小的DEX文件(库的每个组件都有一个),这样它就能很好地处理android。

希望那是有帮助的!

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23623240

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档