Я знаю, этот вопрос старый.
Но мне очень нравится, когда Xamarin использует pdf.js от Mozilla. Он работает на более старых версиях Android, для этого вам не нужно специальное приложение для просмотра PDF, и вы можете легко отобразить PDF в иерархии представлений ваших приложений.
Git для этого: https://mozilla.github.io/pdf.js/
Дополнительные опции: https://github.com/mozilla/pdf.js/wiki/Viewer-options
Просто добавьте файлы pdfjs в каталог Assets:
И назовите это следующим образом:
// Assuming you got your pdf file:
File file = new File(Environment.getExternalStorageDirectory() + "/test.pdf");
webview = (WebView) findViewById(R.id.webview);
WebSettings settings = webview.getSettings();
settings.setJavaScriptEnabled(true);
settings.setAllowFileAccessFromFileURLs(true);
settings.setAllowUniversalAccessFromFileURLs(true);
settings.setBuiltInZoomControls(true);
webview.setWebChromeClient(new WebChromeClient());
webview.loadUrl("file:///android_asset/pdfjs/web/viewer.html?file=" + file.getAbsolutePath());
Классная вещь: если вы хотите уменьшить количество функций / элементов управления. Перейдите в файл Assets / pdfjs / web / viewer.html и отметьте некоторые элементы управления как скрытые. С
style="display: none;"
например. Если вам не нравится правильная панель инструментов:
<div id="toolbarViewerRight" style="display: none;">...</div>