Как я могу открывать PDF-файлы с веб-страницы через приложение для Android

#java #android #android-studio #pdf

#java #Android #android-studio #PDF

Вопрос:

Недавно я создал приложение для Android с использованием webview в Android Studio, но оно не открывает / не загружает PDF-файлы с веб-сайта. Есть ли способ позволить пользователям открывать PDF-файлы с веб-страницы, не добавляя их в приложение. Я хочу обновить PDF-файлы на веб-сайте без необходимости менять приложение.

Теперь это мой код:

     package com.something.app;

public class MainActivity extends AppCompatActivity {

    private WebView myWebView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        myWebView = (WebView)findViewById(R.id.webView);
        WebSettings webSettings = myWebView.getSettings();
        webSettings.setJavaScriptEnabled(true);
        myWebView.loadUrl("something");
        myWebView.setWebViewClient(new WebViewClient());
    }

    @Override
    public void onBackPressed() {
        if (myWebView.canGoBack()) {
            myWebView.goBack();
        } else {
            super.onBackPressed();
        }

    }
}
 

Комментарии:

1. (Для ясности: я создал приложение с веб-сайта, используя функцию webview в Android Studio. На веб-странице, на которую я ссылаюсь, находятся файлы pdf. Если o попытается открыть их в приложении, это ничего не даст. Если я открываю PDF-файлы в веб-браузере, он отправляет вас на URL-адрес PDF-файла. Есть ли способ сделать это в приложении.)

2. Webview не может отображать PDF-документ.

Ответ №1:

Если вы хотите открыть PDF-файл во встроенном браузере устройства:

 Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(pdf_url));
startActivity(browserIntent);
 

Или вместо этого в веб-представлении:

  Webview webView = (WebView) findViewById(R.id.webView1);
 webView.getSettings().setJavaScriptEnabled(true);
 webView.loadUrl(pdf_url);
 

Ответ №2:

Попробуйте использовать для этого pdfviewer. Это намного лучше, чем использовать webview. Ссылка на github такова: https://github.com/barteksc/AndroidPdfViewer

Это более полезно, потому что оно простое в использовании.

Все, что вам нужно, это этот код:

build gradle (приложение):

 implementation 'com.github.barteksc:android-pdf-viewer:2.8.2'
 

main.java

 pdfView = (PdfView) findViewById(R.id.pdfview);
Uri a = new Uri("*your URL*");
pdfView.fromUri(a).load();
 

Комментарии:

1. Есть ли способ открыть PDF-файл с веб-страницы, не добавляя его в скрипт, чтобы при добавлении нового PDF-файла на веб-сайт он мгновенно заработал?

2. Это будет зависеть от веб-сайта. Разве на веб-сайте не всего 1 PDF-файл? Тогда как бы вы добавили к этому новый PDF-файл?

3. Нет, веб-сайт — это просто URL. На веб-сайте есть встроенный PDF-файл, но я не могу открыть его в своем приложении.

4. Если вы перейдете на вкладку «Проверка», вы можете найти фактический URL-адрес PDF-файла. Пожалуйста, поделитесь URL-адресом, чтобы я мог попытаться вам помочь

5. pastebin.com/ZHs3yfk1 это, например, файл, к которому я хочу получить доступ в формате html. Я не могу поделиться сайтом, потому что вам нужно будет войти в систему. Моя цель — мгновенно открыть / загрузить PDF-файл без необходимости добавлять URL-адрес в сценарий приложения.