Cara menampilkan PDF melalui web browser Android tanpa “mengunduh” terlebih dahulu

92

Apakah ada cara untuk mendapatkan peramban Android stok untuk membuka otomatis PDF, Word, atau file tipikal lainnya tanpa harus melalui proses mengunduh file dan kemudian meminta pengguna untuk membuka file dari aplikasi Unduhan atau bilah Pemberitahuan ?

Kami memiliki aplikasi web yang memiliki banyak dokumen yang ingin kami sertakan dan tidak harus dikonversi ke HTML, tetapi membuat pengguna mengunduh file dan membukanya secara manual tidaklah mudah untuk melatih pengguna.

Di iOS, semua file ini ditampilkan sebaris di browser. Saya ingin cara agar browser meluncurkan file secara otomatis ke Acrobat Reader atau QuickOffice atau program apa pun yang harus ditampilkan pengguna.

Adakah yang tahu cara melakukan itu? Saya tahu bahwa Google Docs memiliki beberapa dukungan untuk melihat PDF, tetapi orang-orang yang menggunakan aplikasi web kami mungkin tidak memiliki akses Internet publik dalam semua kasus, dan mungkin mengakses server web lokal.

Chris Saldanha
sumber
1
Saya tidak pernah melihatnya bekerja seperti itu. Karena itu, saya membayangkan Anda dapat membuat browser Anda sendiri yang mampu mendekode dan menampilkan file pdf dengan benar. Saya hanya tidak percaya browser populer mana pun mendukung ini.
FoamyGuy
Apakah file PDF Anda dioptimalkan untuk "Tampilan Web Cepat"? Jika tidak, mereka tidak dapat ditampilkan saat pengunduhan masih berlangsung - maka mereka hanya dapat diunduh dan kemudian ditampilkan.
Robert

Jawaban:

66

Anda dapat membuka PDF di Google Docs Viewer dengan menambahkan URL ke:

http://docs.google.com/gview?embedded=true&url=<url of a supported doc>

Ini akan membuka PDF di browser default atau WebView.

Daftar format yang didukung diberikan di sini .

arsalank2
sumber
4
Ini sangat membantu, terima kasih. Saya tidak yakin itu 100% perlu, tetapi mungkin perlu disebutkan bahwa <url dari dokumen yang didukung> harus di-urlencode.
tukang81
2
Ini tidak berhasil untuk saya ... Ini hanya menampilkan halaman "Ups! Ada masalah saat melihat pratinjau dokumen ini" dengan tombol unduh. Tidak ada yang terjadi saat Anda mengklik tombol unduh.
Lee Yi Hong
25
Tautan di atas gagal berfungsi untuk Chrome di Android, saya beralih ke https://drive.google.com/viewerng/viewer?embedded=true&url=####dan itu berhasil!
QFDev
2
Hai, sepertinya url di jawaban tidak berfungsi lagi. Saya mendapatkan loop tak terbatas dengannya sekarang di pendengar webView. Url yang diposting dalam komentar dari QFDev berfungsi.
Gene Bo
Ini masih menyimpan dokumen ke direktori temp android Anda jika saya ingat dengan benar.
Jean-Paul
4

Khususnya, untuk memasang plugin pdf.js untuk firefox, Anda tidak menggunakan app store. Sebagai gantinya, buka addons.mozilla.org dari dalam mozilla dan instal dari sana. Selain itu, untuk melihat apakah sudah terpasang dengan benar, buka menu Alat: Pengaya (bukan url "about: plugins" seperti yang mungkin Anda pikirkan dari versi desktop).

(Akun baru, kalau tidak saya akan meletakkan ini sebagai komentar pada jawaban di atas)

Jameson Quinn
sumber
4
String format = "https://drive.google.com/viewerng/viewer?embedded=true&url=%s";
String fullPath = String.format(Locale.ENGLISH, format, "PDF_URL_HERE");
Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(fullPath));
startActivity(browserIntent);
Hamzeh Soboh
sumber
3

Saya membutuhkan ini juga, dan tautan di atas berhenti berfungsi jadi inilah yang menurut saya berfungsi dengan Google Drive Baru:

Google memiliki layanan yang membuat tautan untuk PDF's Not in GDrive: https://docs.google.com/viewer Cukup tambahkan URL Anda dan itu membuat tautan, dan kode IFrame (Perhatikan baik-baik dan Anda akan melihat polanya dan membuat tautan tanpa layanan web ini)

Selain itu, ada cara melakukannya untuk PDF yang disimpan di Google Drive: https://docs.google.com/viewer?srcid=YOUR_GDRIVE_PDF_DOC_ID_HERE&pid=explorer&efh=false&a=v&chrome=false&embedded=true (ini bisa berupa tautan atau src URL dari iframe)

Saya telah menguji di Android dan menampilkan PDF viewer dengan baik.

ubersimple.brad
sumber
Bagi saya, jika saat ini saya tidak masuk dengan akun Google, maka itu membawa saya ke halaman masuk. Apakah ada cara untuk melewati ini dan hanya melihat pdf?
h_k
Coba gunakan file viewerjs.org viewer.js terlihat menjanjikan karena ini adalah browser independen dan bergantung pada server Anda untuk melakukan pekerjaan berat.
pengguna1493559
2

Sayangnya browser asli yang ada di perangkat Android tidak mendukung jenis file ini. Mari kita lihat apakah di 4.0 kita akan bisa melakukan itu.

Guilherme Oliveira
sumber
2

Anda bisa menggunakan ini

webView.loadUrl("https://docs.google.com/viewer?url=" + "url of pdf file"); 
Akash Bisariya
sumber
Adakah yang bisa menyebutkan alasan downvoting.
Akash Bisariya
Mungkin, jawaban Anda berlaku untuk beberapa teknik pemrograman, dan jawabannya bisa saja hanya URL-nya, bahkan saya bisa menambahkannya ke dalam tag anchor, yang sudah disebutkan di atas
Siddaram H
@akash mungkin kamu perlu menambahkan lebih banyak penjelasan. ini aturannya di sini
huzain07
2
  Try this, worked for me.

    WebView view = (WebView) findViewById(R.id.yourWebView);

    view.getSettings().setJavaScriptEnabled(true);
    view.getSettings().setPluginState(WebSettings.PluginState.ON);
    view.loadUrl("http://docs.google.com/gview?embedded=true&url="
                  +"your document link(pdf,doc,docx...etc)");
parvez rafi
sumber
setPluginState ON itu penting, terima kasih menyebutkannya
Beeing Jk
@BeeingJk, setPluginStatetidak digunakan lagi dari API 18 ( stackoverflow.com/questions/19362049/… ).
CoolMind
@ CoolMind apa yang Anda tunjukkan di tautan setPluginsEnableddaripadasetPluginState
Beeing Jk
@BeeingJk, silahkan, buka halaman lagi, tekan Ctrl + F, tulis "setPluginState" dan tekan Enter.
CoolMind
@CoolMind ok terima kasih Saya juga melihatnya di sini, developer.android.com/reference/android/webkit/… , tapi saya tidak bisa menghapus yang setPluginStatelain tampilan web saya tidak akan berfungsi
Beeing Jk
2
public class MainActivity extends AppCompatActivity {

    Button button;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        button = findViewById(R.id.button);
        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                openURL("http://docs.google.com/viewer?url=" + " your pdf link ");
            }
        });
    }

    private void openURL(String s) {
        Uri uri = Uri.parse(s);
        Intent intent = new Intent(Intent.ACTION_VIEW);
        intent.setDataAndType(uri,"text/html");
        startActivity(intent);
    }
}
Emon Hossain Munna
sumber
-5
  • Unduh file .apk pembaca acrobat untuk android untuk menampilkan file pdf
  • Letakkan file pdf Anda di kartu sd
  • Gunakan potongan kode di bawah ini

    File file= new File("/sdcard/test.pdf");
    Uri path=Uri.fromFile(file);
    Intent i =new Intent(Intent.ACTION_VIEW);
    i.setDataAndType(path,"application/pdf");
    i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
    startActivity(i);
    
tidak dikenal
sumber
4
Ini untuk browser web, bukan aplikasi android asli. -1
ryandawkins