java - 在android中显示office文档
问题描述
我正在使用 Firebase Firestore 开发一个 android 博客应用程序。我想在应用程序中显示 Microsoft Office Word 文档(因为我想添加多个样式文本)。
当用户点击应用程序中的一篇文章时,一个活动将显示指定的数据。我的意思是会有不同的文本,所以每篇文章都会有不同的内容。我想要的是在文章内容中显示样式文本,如 Microsoft Word 中可用的文本(项目符号和编号、粗体、斜体......这些东西)。
我想将 word.docx 文档上传到 Firebase 的存储中,并将其链接添加到 Firestore 的内容字段中。但我确信它不会起作用。
有谁知道我该怎么办?
解决方案
我有类似的东西,唯一的区别是我显示了 pdf,但我确信它也可以为 doc 完成,你需要 webView 才能使它工作,我为你提供了通过 google docs 在 webview 中打开文件的方法,看一看:
private void setUpWebView() {
setWebviewSettings();
mwebView.clearHistory();
mwebView.clearFormData();
mwebView.clearCache(false);
mwebView.setScrollBarStyle(WebView.SCROLLBARS_OUTSIDE_OVERLAY);
mwebView.setScrollbarFadingEnabled(true);
mwebView.getSettings().setSupportZoom(true);
mwebView.setWebChromeClient(new CustomWebChromeClient(this));
mwebView.setWebViewClient(new WebViewClient());
mwebView.getSettings().setJavaScriptEnabled(true);
mwebView.getSettings().setPluginState(WebSettings.PluginState.ON);
String url = AppConstants.FULL_TANDC_URL;
if (NetworkUtil.isNetworkAvailable(this)) {
if (url != null && !TextUtils.isEmpty(url) && URLUtil.isValidUrl(url)) {
textNoData.setVisibility(View.GONE);
if (url.contains(".pdf")) {
mwebView.loadUrl("http://docs.google.com/gview?embedded=true&url=" + url);
mprogressBar.setVisibility(View.GONE);
} else {
mwebView.loadUrl(url);
mprogressBar.setVisibility(View.VISIBLE);
}
} else {
textNoData.setVisibility(View.VISIBLE);
mprogressBar.setVisibility(View.GONE);
}
} else {
mprogressBar.setVisibility(View.GONE);
textNoData.setVisibility(View.VISIBLE);
}
}
我希望这能帮到您。
快乐编码:)
推荐阅读
- php - 从 mysql 数据库中搜索数据,如弹性搜索
- spring-boot - javax.net.ssl.SSLException:corda 节点中的握手超时
- angular - 将 Single Angular 5 项目部署到具有不同 URL 的多个客户端
- scala - 在 Play 2.6 中将多个地图函数应用于流式数据库结果
- reactjs - 使用 devexpress/dx-react-grid 处理取消事件
- java - Maven - SLF4J:类路径在 Spring Boot 中包含多个 SLF4J 绑定
- c# - 减速并停在特定点的物体
- algorithm - 查找由超过 1 条线与正方形相交产生的所有多边形
- java - 将约束添加到数组列表中的问题
- python - 我正在尝试使用 Anaconda 环境在 Pycharm 中添加一个 python 解释器作为 Virtualenv 环境