как отобразить PDF в пользовательских формах веб-просмотра - PullRequest
0 голосов
/ 02 мая 2018

Я хочу отобразить pdf в веб-просмотре с URL, используя pdfjs, но я получаю пустое представление. вот мой код

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 ....

1 Ответ

0 голосов
/ 02 мая 2018

Я приму две вещи здесь. Во-первых, вам не нужно, чтобы PDF-файл отображался в WebView. Во-вторых, вы можете использовать сторонние библиотеки.

Я бы предложил использовать SyncFusion PdfViewer . Он очень прост в использовании и делает все, что вам захочется, с PDF-файлами - может быть, не все, а многое. Если вы беспокоитесь о том, что вам придется много платить за этот контроль, не бойтесь! SyncFusion имеет бесплатную лицензию сообщества , которую вы можете использовать (если вы не зарабатываете более 1 млн. Долларов США и у вас нет команды более 5 разработчиков). Возможно, вы захотите взглянуть на эту ветку , рассказывающую об отображении PDF с URL.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...