potremmo convertire documenti Microsoft Office (doc, docx, ppt, pptx, xls, xlsx, ecc.) In una stringa html in Android. ho bisogno di mostrare documenti di ufficio nella mia app. ho cercato e trovato docx4j, apache poi e http://angelozerr.wordpress.com/2012/12/06/how-to-convert-docxodt-to-pdfhtml-with-java/ per convertire i file in html. questo approccio sta funzionando bene nella versione desktop. ma quando uso in Android sto ottenendo "Impossibile convertire in Dalvik formato errore 1". che potrebbe essere dovuto all'utilizzo di un numero eccessivo di giare nel mio progetto Android. voglio sapere c'è un unico modo da cui converto documento di ufficio in html in Android. scusate per l'inglese.Come convertire i documenti dell'ufficio in html in Android
EDIT
sono ora in grado di convertire doc in html utilizzando apache poi. qui è il metodo
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();
}
}
ora alla ricerca di altri.
è necessario farlo dal lato del dispositivo? Forse sarebbe meglio usare un server per fare queste conversioni? –
@RafaelOsipov no se usiamo il server per questo. la nostra app dipenderà dalla connessione internet. –
in questo caso implementare il motore di conversione sul server utilizzando il POI Apache e il dispositivo invierà solo documenti al server e riceverà i risultati della conversione. –