表单,从 URL 打开 PDF
Posted
技术标签:
【中文标题】表单,从 URL 打开 PDF【英文标题】:Forms, Open PDF from URL 【发布时间】:2018-07-02 05:07:19 【问题描述】:我在 android 上使用 Xamarin Forms,我需要从我的 WebView 中的 URL 打开 PDF。出于某种原因,有时 Webview 是空白的。我在互联网上搜索了很多,我找到了一些给我相同结果的解决方案,有时 PDF 中的 PDF 显示没有问题,有时是空白页。我正在使用“https://drive.google.com/viewerng/viewer?embedded=true&url=”但没有结果,我正在使用这个解决方案 (https://acaliaro.wordpress.com/2017/11/30/open-a-pdf-inside-a-webview-in-xamarin-forms-android/),它准确地描述了我的问题,但 WebView 有时仍会显示一个空白页面。
那么,为什么在 Android 上的 WebView 中打开 PDF 网址如此困难?有一些解决方案可以解决这个问题吗?我不知道我还能做什么。
【问题讨论】:
首先原因是WebView本身不能打开PDF。它不支持PDF。您的解决方案首先将 PDF 转换为 html 页面,然后才在 WebView 中打开该页面。但是谁知道在转换过程中会发生什么。尝试检查 logcat 是否有任何与 WebView 相关的消息。 您好,感谢您的回复,但是我的logcat中没有与WebView相关的消息,没什么奇怪的,没有崩溃,没什么。只是有时它会打开 PDF 有时不会。也许我可以尝试使用我的设备上安装的 PDF 阅读器应用程序打开 PDF URL?我真的不明白为什么在 ios 上一切正常,而在 Android 上没有默认的 PDF 阅读器。太疯狂了!open the PDF URL with a PDF Reader App
我认为这不是一个好主意。这是因为您已经知道 - there is not a default PDF Reader.
for Android。在设备上不安装它是完全可以的 - 默认情况下,Windows 也没有 PDF 阅读器。你必须安装一个。
我建议在您的应用中实现 PDF 阅读功能。图书馆已经有了音调。
大量图书馆?您能否在此处链接一些 Xamarin 表单?谢谢!
【参考方案1】:
Android WebView 不支持来自网站的 .pdf 文件,事实上,如果您尝试在 chrome 浏览器中复制扩展名为 .pdf 的 url,这将 下载文件并在应用中打开。因此,无法以简单的方式在 App 中显示 PDF。但是有两种解决方案:
-
在 Google 上有很多解决方案告诉您下载 PDF 并在 Web 视图中显示,但在我的情况下,我无法下载 PDF 并显示。
您可以在您的服务器中编写一个 .html 页面,该页面可以“包装”以 GET 模式通过 URL 发送的 PDF 并将其显示在 .html 页面中没有问题(使用 jsPDF 是一个示例)或使用此前缀 ( http://drive.google.com/viewerng/viewer?embedded=true&url= )但有时我会给出一个空白页,所以我编写了自己的 pdf 查看器。在此链接 (https://acaliaro.wordpress.com/2017/11/30/open-a-pdf-inside-a-webview-in-xamarin-forms-android/) 中,您可以找到另一个解决方案,但由于某种原因,它仍然无法正常工作。可能是因为我使用的是 Android 5.0 设备。
【讨论】:
以上是关于表单,从 URL 打开 PDF的主要内容,如果未能解决你的问题,请参考以下文章
Android 从 URL 下载 PDF,然后使用 PDF 阅读器打开它
用pdfminer.six打开一个PDF,从一个URL中打开。
从其他应用程序打开 URL 仅适用于 iPad,在 iPhone 上禁用
ASP.NET 3.5 - 在 pdf 查看器中直接从流中打开 PDF