Saya ingin menampilkan konten pdf di webview. Ini kode saya:
WebView webview = new WebView(this);
setContentView(webview);
webview.getSettings().setJavaScriptEnabled(true);
webview.loadUrl("http://www.adobe.com/devnet/acrobat/pdfs/pdf_open_parameters.pdf");
Saya mendapatkan layar kosong. Saya telah mengatur izin internet juga.
You've reached the bandwidth limit for viewing or downloading files that aren't in Google Docs format....
. Jadi sepertinya tidak bisa diandalkan.Jika Anda menggunakan url lihat saja, pengguna tidak diminta untuk masuk ke akun Google yang ada.
sumber
Membuka pdf menggunakan google docs adalah ide yang buruk dalam hal pengalaman pengguna. Ini sangat lambat dan tidak responsif.
Solusi setelah API 21
Sejak api 21, kami memiliki PdfRenderer yang membantu mengonversi pdf ke Bitmap. Saya belum pernah menggunakannya tetapi tampaknya cukup mudah.
Solusi untuk level api apa pun
Solusi lainnya adalah mengunduh PDF dan menyebarkannya melalui Intent ke aplikasi PDF khusus yang akan menampilkannya secara banger. Pengalaman pengguna yang cepat dan menyenangkan, terutama jika fitur ini tidak menjadi pusat aplikasi Anda.
Gunakan kode ini untuk mengunduh dan membuka PDF
}
Agar Intent berfungsi, Anda perlu membuat FileProvider untuk memberikan izin kepada aplikasi penerima untuk membuka file.
Berikut adalah cara Anda menerapkannya: Dalam Manifes Anda:
Terakhir buat file file_paths.xml di foler sumber daya
Semoga ini membantu =)
sumber
Gunakan kode ini:
sumber
Di sini memuat dengan progressDialog. Perlu memberikan WebClient jika tidak, paksa untuk membuka di browser:
sumber
Anda dapat menggunakan Mozilla pdf.js proyek. Pada dasarnya ini akan menampilkan PDF kepada Anda. Lihat contoh mereka .
Saya hanya menggunakannya di browser (desktop dan seluler) dan berfungsi dengan baik.
sumber
Sebenarnya semua solusi cukup kompleks, dan saya menemukan solusi yang sangat sederhana (saya tidak yakin apakah ini tersedia untuk semua versi sdk). Ini akan membuka dokumen pdf di jendela pratinjau di mana pengguna dapat melihat dan menyimpan / berbagi dokumen:
(Kotlin)
sumber
Unduh kode sumber dari sini ( Buka pdf di webview android )
activity_main.xml
MainActivity.java
sumber
Ini adalah batas penggunaan sebenarnya yang diizinkan Google sebelum Anda mendapatkan kesalahan yang disebutkan di komentar , jika ini adalah pdf sekali seumur hidup yang akan dibuka pengguna di aplikasi, maka saya merasa ini sepenuhnya aman. Meskipun disarankan untuk mengikuti pendekatan asli menggunakan kerangka kerja bawaan di Android dari Android 5.0 / Lollipop, ini disebut PDFRenderer .
sumber
sumber