Как загрузить онлайн PDF-файлы в веб-обозрение Xamarin? - PullRequest
0 голосов
/ 21 ноября 2019

Я пытаюсь загрузить и отобразить онлайн-файл PDF (файл по ссылке sharepoint) в веб-форме Xamarin. Чтобы загрузить 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))));

1 Ответ

0 голосов
/ 21 ноября 2019

Если 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"));

Я использовал URL, предоставленный @ SushiHangover , и он отлично работает на моей стороне.

...