首页 > 解决方案 > 使用 Xamarin.Forms 在 Android Webview 中显示在线 PDF

问题描述

问题陈述:

我正在尝试使用 using 显示来自安全站点的https托管WebViewPDF 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 在浏览器中也不起作用)。

我已经咨询过的问题:

标签: c#xamarinxamarin.formsxamarin.android

解决方案


推荐阅读