我的应用程序的核心部分是加载PDF在线,用户可以根据他们给定的权限下载它。
我面临的问题是,我想在网上加载pdf。经过很多研究,我发现,
在android系统中,很可能有两种方式可以在线显示pdf:
1)在Web视图中加载简单的托管URL
2)谷歌文档。
但在我们的情况下,如果我们使用的方式(1),移动web视图不会重定向托管的PDF网址。如果我们使用方法(2),那么google文档对于文件大小有一定的限制。(它将装载大小为1MB的5-10个小pdf )
,但在加载了大小为2或3MB的PDF后,它也会将我的错误作为“不可预览”,并且它不断地给我这个错误,打开不同的urls.。
因此,似乎仍然没有一个简单的解决方案,从网址查看pdf (在线没有下载pdf)。
另一种在线打开pdf的方法是,我们可以在任何其他第三方应用程序中打开它,如浏览器、adobe阅读器或设备中提供的任何一种pdf查看器应用程序。
缺点:如果我们在浏览器中打开pdf,它将自动下载,如果我们在任何第三方应用程序中打开它,那么他们可以选择下载pdf。
请给我一些解决方案,阅读PDF在线。
如果有任何付费的pdf SDK提供功能,从URL在线加载pdf,然后请提供这方面的信息。
也请建议我一些pdf浏览器库,以显示pdf在网上。
我使用了许多库,但是它将我的应用程序的大小增加到8到10 MB。
提前谢谢。
发布于 2016-12-23 05:55:59
建议的主要解决方案,
下载该文件,将其存储在特定于应用程序的文件夹中,这样用户就无法访问。对于没有下载访问权限的查看者,您将在他们离开视图时删除该文件。对于拥有下载权限的查看者,他们可以选择将文件复制到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-28 00:18:44
我建议您查看PDF.js,这是来自Mozilla的Javascript库,可以在浏览器中呈现PDF格式。您可以轻松地将其修改到WebView中,并且无需下载就可以显示PDF格式。
https://stackoverflow.com/questions/41157823
复制相似问题