基于此链接:https://www.adobe.com/support/products/enterprise/knowledgecenter/media/c4611_sample_explain.pdf我已经尝试显示此处列出的https://docs.microsoft.com/en-us/xamarin/xamarin-forms/user-interface/webview?tabs=windows
我在iOS上没有问题,但在安卓上这似乎不起作用。这是具体的代码,实际上并不多。
{
var browser = new WebView();
browser.Source = "https://www.adobe.com/support/products/enterprise/knowledgecenter/media/c4611_sample_explain.pdf";
Content = browser;
}我想我们不再需要PDFJ来让PDF在Android平台上工作了。这仍然是真的吗?
发布于 2020-06-25 10:50:41
您可以使用Google PDF Viewer在线阅读您的pdf。首先,在PCL文件夹中创建一个自定义的webview。
public class MyWebview:WebView
{
}然后在WebPage.cs中使用它
public class WebPage : ContentPage
{
public WebPage()
{
var browser = new MyWebview();
Content = browser;
}
}在android文件夹中为您的webview创建自定义渲染器。
[assembly: ExportRenderer(typeof(WorkingWithWebview.MyWebview), typeof(MyWebViewRenderer))]
namespace WorkingWithWebview.Android
{
public class MyWebViewRenderer:WebViewRenderer
{
Context _context;
public MyWebViewRenderer(Context context) : base(context)
{
_context = context;
}
protected override void OnElementChanged(ElementChangedEventArgs<Xamarin.Forms.WebView> e)
{
base.OnElementChanged(e);
var settings=Control.Settings;
settings.JavaScriptEnabled = true;
settings.SetPluginState(WebSettings.PluginState.On);
Control.SetWebViewClient(new MyWebviewClient());
string pdf = "https://www.adobe.com/support/products/enterprise/knowledgecenter/media/c4611_sample_explain.pdf";
Control.LoadUrl("https://drive.google.com/viewerng/viewer?embedded=true&url=" + pdf);
}
}
internal class MyWebviewClient : WebViewClient
{
public override bool ShouldOverrideUrlLoading(global::Android.Webkit.WebView view, string url)
{
return false;
}
}
}下面是运行GIF的代码。

https://stackoverflow.com/questions/62564046
复制相似问题