Просмотр PDF в выпуске WebView (Xamarin.ios) - PullRequest
0 голосов
/ 03 ноября 2018

У меня сейчас проблема с загрузкой локального PDF в веб-просмотр. У меня есть код, который работает без каких-либо ошибок, и когда я запускаю его на симуляторе iPad, он работает абсолютно идеально. Однако проблема возникает, когда я пытаюсь запустить его на физическом устройстве iPad. Когда я запускаю его, и он доходит до того, что ему нужно показать PDF, веб-просмотр загружается, но в веб-просмотре не отображается PDF-файл.

PDF на самом деле создается приложением, и я храню его в каталоге внутри папки библиотеки.

Код для отображения PDF в WebView:

public void LoadPdfToWebView(string pdfPath)
    {
        //Console.WriteLine("Load request started");

        WebView.LoadRequest(new NSUrlRequest(new NSUrl(pdfPath, false)));
        View.AddSubview(WebView);

        //Console.WriteLine("Load request Finished");
    }

Не совсем уверен, почему это так, и, надеюсь, кто-то может помочь.

1 Ответ

0 голосов
/ 05 ноября 2018

В Xamarin.IOS для отображения типа документа, отличного от HTML, в UIWebView:

  1. Добавьте документ (например, PDF) в ваш проект Xamarin.iOS. Установите Build Action в BundleResource. Вы можете установить действие по сборке для файла, щелкнув правой кнопкой мыши по этому файлу и выбрав Build Action в открывшемся меню.

  2. Создайте UIWebView и добавьте его в представление:

    webView = new UIWebView (View.Bounds);
    View.AddSubview(webView);
    
  3. Загрузка файла с использованием классов NSUrl и NSUrlRequest:

    string fileName = "Loading a Web Page.pdf"; // remember case-sensitive
    string localDocUrl = Path.Combine (NSBundle.MainBundle.BundlePath, fileName);
    webView.LoadRequest(new NSUrlRequest(new NSUrl(localDocUrl, false)));
    webView.ScalesPageToFit = true;
    

Вы можете обратиться к этим официальным шагам. Если у вас есть проблемы или другие потребности, вы можете обратиться к этой ссылке

Если вы не можете прочитать ресурсы в комплекте, вы можете поместить кеш ресурсов в временный каталог песочницы и попробовать прочитать его, используя LoadRequest.

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