如何在Xamarin Webview中加载在线pdf文件?

问题描述 投票:0回答:1

我试图以Xamarin形式的Webview加载并显示在线pdf文件(来自sharepoint链接的文件)。要加载pdf,我已经使用自定义渲染器实现了pdf查看器。但是,没有加载文件。你能帮我这个忙吗?

以下代码用于加载文件。

   var customWebView = Element as AuthWebView;
                Control.Settings.AllowUniversalAccessFromFileURLs = true;
                Control.Settings.PluginsEnabled = true;
                Control.Settings.JavaScriptEnabled = true;
                //  Control.LoadUrl("https://drive.google.com/viewerng/viewer?embedded=true&url=" + customWebView.Uri); tired this also but no luck
                Control.LoadUrl(string.Format("file:///android_asset/pdfjs/web/viewer.html?file={0}", string.Format("file:///android_asset/Content/{0}", WebUtility.UrlEncode(customWebView.Uri))));
xamarin sharepoint webview xamarin.android androidpdfviewer
1个回答
0
投票

如果url包含前缀https,则应在Android项目中添加以下代码。因为在Android 9(API级别28)之后,默认情况下会禁用明文支持。

AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest ...>
    <uses-permission android:name="android.permission.INTERNET" />
    <application
        ...
        android:usesCleartextTraffic="true"
        ...>
        ...
    </application>
</manifest>

并且由于您要加载远程pdf,所以只需要直接加载url。file:///android_asset/pdfjs/web/viewer.html用于本地pdf。

Control.LoadUrl(string.Format("https://drive.google.com/viewerng/viewer?url={0}", "https://www.w3.org/WAI/ER/tests/xhtml/testfiles/resources/pdf/dummy.pdf"));

我使用了由[[@SushiHangover提供的url,它对我来说很好用。

© www.soinside.com 2019 - 2024. All rights reserved.