有没有人知道一个可以在Android上运行的好的Java Microsoft Office API?我知道有一个OpenOffice Java API,但是我还没有听说过有人在Android上使用它。
我知道使用意图(intents)是另一个选项,但是各种Android发行版上预装的办公软件查看器有多普遍呢?对于开发者来说,期望用户已经安装了这些查看器合理吗?如果他们没有安装这些应用程序,请求他们安装一个是否合理?
有没有人知道一个可以在Android上运行的好的Java Microsoft Office API?我知道有一个OpenOffice Java API,但是我还没有听说过有人在Android上使用它。
我知道使用意图(intents)是另一个选项,但是各种Android发行版上预装的办公软件查看器有多普遍呢?对于开发者来说,期望用户已经安装了这些查看器合理吗?如果他们没有安装这些应用程序,请求他们安装一个是否合理?
由于我们需要显示的大部分文档都已经托管在网络上,因此我们选择使用嵌入式web视图,在使用Google文档查看器打开文档。
但是,我们仍然有一些本地存储的文档无法使用这种方法。对于这些文档,我们的解决方案是依赖现有应用程序的支持。在进一步研究Android后,似乎大多数设备出厂时都装备了某种形式的文档/PDF阅读功能。如果他们没有合适的应用程序,我们会引导他们去应用市场搜索免费的阅读器。
很遗憾,Android没有内置的控件来编辑MS Office文件,甚至无法显示它们!这是一个相当大的缺陷,因为iOS内置了显示Office文件的支持(尽管iOS经常会不正确地显示更复杂的文档)。似乎没有足够一致的查看器应用程序可供依赖(它们也可能无法提供您所希望的用户体验)。
如果您想在Android应用程序中显示或编辑docx等文件,则必须嵌入一些第三方代码以添加此功能。我不知道是否有预打包的开源代码可以做到这一点,因此,除非您想自己构建/移植解决方案,否则您需要商业许可证。
正如其他人所指出的,这个领域有一些开源项目,但它们并没有被打包/移植到Android上。如果您成功将它们移植和集成,它们会给您的Android应用下载增加巨大的负担(例如80多兆字节),您还需要为它们添加适合移动设备的用户界面(请参见https://play.google.com/store/apps/details?id=com.andropenoffice&hl=en_GB,这是一个我个人认为不适合/不友好的Android应用程序端口示例)。
我熟悉的解决此问题的SDK之一是基于SmartOffice应用程序的:
https://artifex.com/products-smart-office-overview/
这是一个安全的可嵌入库,支持显示和(可选)编辑 Office 文档。您可以通过sosales@artifex.com联系以获取许可信息。
披露:我的工作之一涉及在 SmartOffice 代码上进行工作。
大多数微软文档查看器都很笨重且昂贵。
如果您想自己创建一个查看器,可以看一下Apache POI。
一个适合的解决方案可能是使用下面链接中的Jword。它不免费,但易于使用。 http://www.independentsoft.de/jword/index.html
使用该库的方法就像这个示例代码一样简单。
private String docxRead(String filePath) {
try {
WordDocument doc = new WordDocument(filePath);
String text = doc.toText();
return text;
}
catch (Exception e) {
Toast.makeText(context, e.getMessage(), Toast.LENGTH_SHORT).show();
e.printStackTrace();
}
return "";
}
You can use this example for read MS word document file in android application.
I give a link below, you follow this for example.
<https://github.com/AsposeShowcase/Document_Viewer_and_Converter_for_Android>
And follow below link for Aspose Word library for android.
<http://www.aspose.com/android/word-component.aspx>
**You Mostly use for this to Read Ms word document.**
I hope, you will using these Library and make you application better.
Best of Luck.
[1]: http://www.aspose.com/android/word-component.aspx