chúng tôi có thể chuyển đổi tài liệu văn phòng microsoft (doc, docx, ppt, pptx, xls, xlsx, v.v.) thành chuỗi html trong Android hay không. tôi cần hiển thị tài liệu văn phòng trong ứng dụng của mình. tôi đã tìm kiếm và tìm thấy docx4j, apache poi và http://angelozerr.wordpress.com/2012/12/06/how-to-convert-docxodt-to-pdfhtml-with-java/ để chuyển đổi tệp bằng html. phương pháp này hoạt động tốt trong phiên bản dành cho máy tính để bàn. nhưng khi sử dụng trong android tôi nhận được "Không thể chuyển đổi trong định dạng Dalvik lỗi 1". có thể là do sử dụng quá nhiều lọ trong dự án android của tôi. tôi muốn biết là có một cách duy nhất mà từ đó tôi chuyển đổi tài liệu văn phòng sang html trong android. xin lỗi vì tiếng anh.Cách chuyển đổi tài liệu văn phòng thành html trong android
EDIT
tôi bây giờ là có thể chuyển đổi doc html sử dụng Apache POI. đây là phương pháp
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();
}
}
hiện đang tìm kiếm những người khác.
là cần thiết để làm điều đó ở phía thiết bị? Có lẽ sẽ tốt hơn nếu sử dụng máy chủ để thực hiện các chuyển đổi này? –
@RafaelOsipov không nếu chúng tôi sử dụng máy chủ cho nó. ứng dụng của chúng tôi sẽ phụ thuộc vào kết nối internet. –
trong trường hợp này triển khai công cụ chuyển đổi trên máy chủ bằng cách sử dụng Apache POI và thiết bị sẽ chỉ gửi tài liệu tới máy chủ và nhận kết quả chuyển đổi. –