1

我的应用程序的核心部分是在线加载 PDF,用户可以根据他们的给定权限下载它。

我面临的问题是我想在线加载pdf。经过多次研究,我发现,

在android中在线显示pdf可能有两种方法:

1) 在 Web 视图中通过加载简单的托管 URL

2)通过谷歌文档。

但在我们的例子中,如果我们使用方式 (1),移动 web 视图不会重定向 PDF 的托管 url。如果我们使用方式(2),那么谷歌文档对文件大小有一定的限制。(小 pdf 它会加载 5 到 10 个大小为 1MB 的文件)

但是在加载大小为 2 或 3 MB 的 PDF 后,它也会给我一个错误“没有可用的预览”,并且它不断地给我这个错误打开不同的 url。

因此,似乎仍然没有简单的解决方案可以从 url 查看 pdf(无需下载 pdf 在线)。

在线打开 pdf 的另一种方法是我们可以在任何其他第三方应用程序中打开它,例如浏览器、adobe pdf 阅读器或设备中可用的任何类型的 pdf 查看器应用程序。

缺点:如果我们在浏览器中打开 pdf,它将自动下载,如果我们在任何第三方应用程序中打开它,那么他们可以选择下载 pdf。

请给我一些在线阅读PDF的解决方案。

如果有任何可用的付费 pdf SDK 提供从 URL 在线加载 pdf 的功能,那么也请提供相关信息。

还请建议我一些用于在线显示 pdf 的 pdf 查看器库。

我已经使用了许多库,但是它将我的应用程序的大小增加到 8 到 10 MB。

提前致谢。

4

2 回答 2

1

建议的主要解决方案,

下载文件,将其存储在应用程序特定的文件夹中,这样用户就无法访问。对于无权下载文件的查看者,您将在他们离开视图时删除文件。对于有权下载的查看者,他们可以选择将文件复制到他们的 SD 卡(可访问的位置),然后您将在他们离开视图时删除原始文件。

用于存储在应用程序特定目录中以限制用户访问,

http://www.grokkingandroid.com/how-to-correctly-store-app-specific-files-in-android/

还可以使用一个库来查看 pdf(更简单),从这里选择一个合适的 https://android-arsenal.com/search?q=pdf

替代解决方案,

如果安全是一个主要问题,您可以加密 pdf 文件并将其存储在服务器上。并在将文件下载到设备时解密文件。

为了增加安全性,不要将文件存储为 pdf,只需将其存储为文件即可。将其下载为文件。当您想要访问它时,将类型设置为 pdf。

结论,

数据方面,即使您在线加载它,设备也会消耗与下载 pdf 几乎相同的数据。(事实上​​,对于在线查看内容,您的设备会下载数据并将其存储在缓存中,您可以查看它)

安全方面,只有根植于手机的手机才能访问该文件,但只要您决定存储它,它也可以访问。

于 2016-12-23T05:55:59.847 回答
0

我建议您查看PDF.js,这是 Mozilla 的一个 Javascript 库,用于在浏览器中呈现 PDF。您可以轻松地将其调整为 WebView,无需下载即可显示 PDF。

这是一个开源应用程序,它的功能类似于您正在寻找的东西

于 2016-12-28T00:18:44.950 回答