Android本机支持预览PDF文件和其他文档?

时间:2018-11-15 00:03:41

标签: android pdf docx

快速版本:

Android中是否有类似于iOS上的WKWebView的本机类,可以显示Word文档和PDF?

长版:

我正在努力将混合应用程序的本机包装部分移植到Android。在iOS中,我可以使用WKWebView来显示各种文档的预览,特别是Word(.docx)文档和PDF文件。

使用视图意图,我可以让Android在Adobe的查看器中打开PDF,但是在安装之前,我只是获得了一个例外,即找不到用于查看文件类型的应用程序。 Android真的不存在如此普遍的原生支持吗?手机上的“文件”应用程序(我可以在其中查看下载等)可以打开并显示PDF,但显然不会在操作系统中注册该事实。

1 个答案:

答案 0 :(得分:1)

  

Android中是否有类似于iOS上的WKWebView的本机类,可以显示Word文档和PDF?

如果“本地类”是指“ Android SDK中内置的Java类”,则答案是“不是真的”。 DOCX没有任何内容。 Android 5.0+具有PdfRenderer,但它是为使用Android的打印框架生成的PDF的打印预览而设计的,将无法呈现许多任意PDF。

  

在iOS中,我可以使用WKWebView来显示各种文档的预览,特别是Word(.docx)文档和PDF文件。

有开放源代码和商业库提供此功能。我blogged about some open source PDF-rendering options在2017年初。

  

使用视图意图,我可以让Android在Adobe的查看器中打开PDF,但是在安装之前,我只是获得了一个例外,即找不到用于查看文件类型的应用程序。

这与“本机类”无关。 Intent由应用及其注册组件(在您的情况下为活动)处理。

目前,没有Android开源项目(AOSP)的一部分的应用程序是PDF查看器或其他文档格式的查看器。任何给定的设备是否都将拥有一个(例如Google文档)。

  

Android真的不存在如此普遍的本地支持吗?

就应用程序而言,不需要设备制造商预先安装PDF查看器或DOCX查看器。即使他们拥有一个,也不需要那些查看器的开发人员注册支持您所使用的<intent-filter>结构的Intent。由于您的问题Intent不在您的讨论范围内,因此我们无法真正评论对此Intent的支持程度如何。