我想使用pdfjs从url在webview中显示pdf,但我得到空视图。这是我的代码
CustomWebView.cs
public class CustomWebView : WebView
{
public static readonly BindableProperty UriProperty = BindableProperty.Create(propertyName: "Uri",
returnType: typeof(string),
declaringType: typeof(CustomWebView),
defaultValue: default(string));
public string Uri
{
get { return (string)GetValue(UriProperty); }
set { SetValue(UriProperty, value); }
}
}
MainPage.xaml中
<ContentPage.Content>
<local:CustomWebView Uri="http://veezo2007pkk.somee.com/api/DiagnosticDetail/RetrieveFile/1" HorizontalOptions="FillAndExpand" VerticalOptions="FillAndExpand" />
</ContentPage.Content>
App.Android
CustomWebViewRenderer.cs
public class CustomWebViewRenderer : WebViewRenderer
{
protected override void OnElementChanged(ElementChangedEventArgs<WebView> e)
{
base.OnElementChanged(e);
if (e.NewElement != null)
{
var customWebView = Element as CustomWebView;
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.Uri))));
}
}
}
看起来很好看,但我不知道为什么它没有在webview中显示....
答案 0 :(得分:0)
我将在这里假设两件事。其一,您对WebView
中显示的PDF文件并不珍贵。其次,您可以使用第三方库。
我建议使用SyncFusion PdfViewer。它非常易于使用,可以完成您可能想要处理的所有内容 - 可能并非一切都很重要。如果您担心自己需要为这些控制付出很多代价,请不要担心! SyncFusion has a free community license,您可以使用(如果您的收入不超过100万美元,而且您的团队规模不超过5个开发者)。您可能需要查看this thread,谈论从URL显示PDF。