Отображение PDF-файлов с моего сервера в моем приложении для Android с использованием PdfRenderer, представленного в Android 5.0 - PullRequest
0 голосов
/ 02 июля 2019

Я хочу, чтобы PDF-файлы пришли с моего сервера в приложении для Android.Моя цель состоит в том, чтобы визуализировать их с помощью PdfRenderer, но проблема в том, что PdfRenderer не поддерживает в основном работу с PDF-файлами, которые не хранятся локально в папке ресурсов.Есть ли способ использовать PdfRenderer для отображения файлов с сервера без их загрузки?(важно запретить пользователям скачивать любые файлы).

Ps1: после рендеринга PDF-файла я хочу увеличить его, показывая 50% страницы, поэтому я не думаю, что смогу использовать Webview.

Ps2: Если невозможно отобразить эти файлы без использования библиотек, каковы ваши предложения относительно лучших бесплатных библиотек, которые я могу использовать ?.Я попробовал библиотеку 'com.github.barteksc: android-pdf-viewer: 3.1.0-beta.1'.Он работал очень хорошо, но его проблема в том, что он делает apk очень большим.

В PdfRender я пытался преобразовать inputStream файла PDF в растровое изображение, отображающее страницы файла в PhotoView (простая библиотека, позволяющая увеличить изображение до ImageView).Но это не сработало.

private class RetrievePDFStream extends AsyncTask<String, Void, Bitmap> {
    @Override
    protected Bitmap doInBackground(String... strings) {
        InputStream inputStream = null;

        try {
            URL url = new URL(strings[0]);
            HttpURLConnection httpURLConnection = (HttpURLConnection) url.openConnection();
            if (httpURLConnection.getResponseCode() == 200) {
                inputStream = new BufferedInputStream(httpURLConnection.getInputStream());
            }
        } catch (IOException e) {
            return null;
        }
        Bitmap bitmap = BitmapFactory.decodeStream(is);

        return bitmap;
    }

    @Override
    protected void onPostExecute(Bitmap bitmap) {
            //openRenderer2(inputStream);

        mImageView.setImageBitmap(bitmap);
        mImageView.setScale(2f , 2000f , 0f ,true);

    }
}

1 Ответ

0 голосов
/ 02 июля 2019

Не знаю, знаете ли вы это, но вы можете открыть .pdf файлы с помощью Intents. Загрузив файл с вашего сервера, используя ваш URL или сделав что-нибудь относительное, вы можете показать PDF. Вот еще один пост из StackOverflow, в котором подробно описан тот же вопрос: Я хочу открыть файл .pdf в своем приложении

...