我们可以转换微软的办公文档(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。这是方法
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();
}
}
现在在寻找其他人。
发布于 2014-08-11 21:00:17
虽然在android设备上确实可以将word文档转换为HTML,但由于存在许多问题,这是不可取的。(也就是说,android的处理能力和内存有限,以及大多数设计用于处理MS Office文件的库存在兼容性问题),正如他们都提到的,最好是在转换服务器端。尽管如此,如果考虑到您的情况,这是不可能的,那么您可能想看看this stackoverflow question。
问者似乎有一个与你相似的问题。(假设我正确地理解了你的问题)海报在讨论的中途回答了他们自己的问题,并在评论中提供了一个链接到他自己的答案。他在解决方案中使用Apachi POI库,但是将库分解成几个较小的DEX文件(库的每个组件都有一个),这样它就能很好地处理android。
希望那是有帮助的!
https://stackoverflow.com/questions/23623240
复制相似问题