c# - 使用 Xamarin.Forms 在 Android Webview 中显示在线 PDF
问题描述
问题陈述:
我正在尝试使用 using 显示来自安全站点的https
托管WebView
PDF Xamarin.Forms
。还值得注意的是,PDF 确实可以在桌面浏览器中加载。
我试过的:
我有一个用于 AndroidWebView
控件的自定义渲染器。
如果我尝试使用pdfjs库,我会得到以下输出
下面是我的自定义渲染器:
public class BindableWebviewRenderer : WebViewRenderer
{
public BindableWebviewRenderer(Context context)
:base (context)
{
}
protected override void OnElementChanged(ElementChangedEventArgs<WebView> e)
{
base.OnElementChanged(e);
if (e.NewElement != null)
{
var customWebView = Element as BindableWebView;
Control.Settings.AllowUniversalAccessFromFileURLs = true;
Control.LoadUrl(string.Format("file:///android_asset/pdfjs/web/viewer.html?file={0}", string.Format("file:///android_asset/Content/{0}", WebUtility.UrlEncode(customWebView.URL))));
}
}
}
我也尝试过使用
Control.LoadUrl("https://drive.google.com/viewerng/viewer?embedded=true&url=" + customWebView.URL);
但这只是显示一个空页面(值得注意的是,由此创建的 URL 在浏览器中也不起作用)。
我已经咨询过的问题:
解决方案
推荐阅读
- swift - Realm Swift 在离线模式下失败
- javascript - 为什么单击按钮后图像不显示?
- c# - C#进程退出事件
- mysql - 隐藏此特定值下的所有行 [MYSQL]
- python - Matplotlib:手动设置后出现未指定的刻度标签
- android - 创建一个没有 Typescript 的 React Native 应用程序?(无法获取 BatchedBridge)
- python - 带有复选框的 Kivy MDList。选择具有活动复选框的正确项目
- javascript - 无法打开通过 Google 应用脚本上传的文件
- node.js - 如何组合没有相互引用的 MongoDB 集合?
- bash - 关于正则表达式和通配符和 grep 的问题