- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的应用程序的核心部分是在线加载 PDF,用户可以根据他们的给定权限下载它。
我面临的问题是我想在线加载pdf。经过多次研究,我发现,
在android中在线显示pdf可能有两种方式:
1) 在 Web View 中加载简单的托管 URL
2) 通过谷歌文档。
但在我们的例子中,如果我们使用方式 (1),移动 web View 不会重定向 PDF 的托管 url。如果我们使用方式 (2),那么 google 文档对文件大小有一定的限制。 (小 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。
提前致谢。
最佳答案
建议的主要解决方案,
下载文件,将其存储在应用特定的文件夹中,这样用户就无法访问。对于无权下载它的查看者,您将在他们离开 View 时删除该文件。对于有权下载它的观众,他们可以选择将文件复制到他们的 SD 卡(一个可访问的位置),然后您将在他们离开 View 时删除原始文件。
用于存储在应用特定目录中以限制用户访问,
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 几乎相同。 (事实上 ,为了在线查看某些内容,您的设备会下载数据并将其存储在缓存中,您可以查看它)
在安全方面,只有获得 root 权限的手机才能访问该文件,但只要您决定存储它,它也可以访问。
关于Android 在线 PDF 加载 - 通过 Google 文档预览不可用错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41157823/
我是一名优秀的程序员,十分优秀!