android - 在 Android 移动网络应用程序中嵌入 pdf 时如何避免打开按钮?

标签 android google-chrome pdf web-applications embedding

我正在为使用三星平板电脑(Android 9 和 Chrome 最新版本)的公司内部使用构建一个网络应用程序。我有一个页面,其中包含指向 PDF 文档的链接列表,问题是当我单击其中任何一个时,它们不会自动打开,而是显示一个打开按钮,要求打开文档。如果我单击“打开”,文档将使用默认查看器(Google PDF 查看器)按预期打开。当我返回时,“打开”按钮仍然存在。如果文档已经下载,浏览器会询问是否再次下载。这些图像显示了这种情况:

http://www.maresme.net/stackoverflow/chrome_android_pdf/open_button.jpg
http://www.maresme.net/stackoverflow/chrome_android_pdf/allow_auto_downloads.jpg

是否可以绕过此步骤并在不显示此按钮的情况下自动打开文档?我想避免使用此按钮,并且当用户从阅读文档返回时,他们会再次找到指向其他 PDF 的链接列表。

我尝试了不同的嵌入 PDF 的方法(嵌入、对象和 iframe),但均未成功。另外,我考虑过使用带有 canvas 标签的 pdf.js,但是我的 webapp 也必须离线工作,而且这个解决方案使用了太多资源。

在网上搜索时,我在 Chrome 中的“隐私和安全”下找到了一个选项的引用,以允许自动打开 PDF,但这个选项没有出现在我正在使用的平板电脑中。是无法绕过的安全限制吗?

我真的会感谢任何帮助,这让我发疯了。

最佳答案

我要回答自己:Chrome 手机的问题是它不支持扩展,所以没有允许在浏览器中查看此类文件的 PDF 插件。当您打算打开 PDF 文件时,浏览器必须在外部应用程序中打开它,可以是默认查看器(如果已定义)或任何其他功能(将显示列表)。这就是它要求许可的原因,我认为这是一种安全措施,不知道如何/是否可以绕过它。

使用 pdf.js(和其他商业工具包),您可以在浏览器中使用 JavaScript 解析 PDF 文件,因此不需要插件。但是,您必须在 PWA 中包含所有这些代码以供离线使用(并且有一些)。另一种对我有用的方法是使用支持扩展的 Kiwi 浏览器(我有一个封闭的用户组,我可以强制这样做),然后使用插件,例如 pdf.js 的插件版本。

希望这可以帮助某人。

关于android - 在 Android 移动网络应用程序中嵌入 pdf 时如何避免打开按钮?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59568478/

相关文章:

android - 如何通过代码防止android上的自动屏幕锁定?

Android::java.security.KeyStoreException:无法存储私钥

google-chrome - TWAIN Chrome USB API

html - 为什么 svg 在 Firefox 中延伸而不是 Chrome

java - 将 Graphics2D 嵌入到 itext 中,无需绝对定位

java - Android 存储和检索数据列表的最佳方法

android - 在两侧的android中将方向设置为横向

javascript - 在 Chrome 扩展程序中,如何从用户的 Chrome 浏览器中准确检索用户的地区/地区/国家?

pdf - 如何从 PDF 文件中提取数据,同时跟踪其结构?

c# - 如何使用 C# 打印 PDF