Je souhaite afficher le contenu PDF sur la vue Web. Voici mon code:
WebView webview = new WebView(this);
setContentView(webview);
webview.getSettings().setJavaScriptEnabled(true);
webview.loadUrl("http://www.adobe.com/devnet/acrobat/pdfs/pdf_open_parameters.pdf");
Je reçois un écran vide. J'ai également défini l'autorisation Internet.
You've reached the bandwidth limit for viewing or downloading files that aren't in Google Docs format....
. Cela ne semble donc pas fiable.Si vous utilisez l'url d'affichage uniquement, l'utilisateur n'est pas autorisé à se connecter à son compte Google.
la source
Ouvrir un pdf à l'aide de google docs est une mauvaise idée en termes d'expérience utilisateur. C'est vraiment lent et insensible.
Solution après API 21
Depuis l'API 21, nous avons PdfRenderer qui aide à convertir un pdf en Bitmap. Je ne l'ai jamais utilisé mais cela semble assez facile.
Solution pour tous les niveaux d'API
Une autre solution consiste à télécharger le PDF et à le transmettre via Intent à une application PDF dédiée qui fera un travail de banger pour l'afficher. Expérience utilisateur rapide et agréable, surtout si cette fonctionnalité n'est pas centrale dans votre application.
Utilisez ce code pour télécharger et ouvrir le PDF
}
Pour que l'intention fonctionne, vous devez créer un FileProvider pour accorder l'autorisation à l'application réceptrice d'ouvrir le fichier.
Voici comment vous l'implémentez: Dans votre manifeste:
Enfin, créez un fichier file_paths.xml dans le foler de ressources
J'espère que cela aide =)
la source
Utilisez ce code:
la source
Ici charger avec progressDialog. Besoin de donner WebClient sinon il force à ouvrir dans le navigateur:
la source
Vous pouvez utiliser le projet Mozilla pdf.js. Fondamentalement, il vous montrera le PDF. Jetez un œil à leur exemple .
Je ne l'utilise que sur le navigateur (bureau et mobile) et cela fonctionne bien.
la source
En fait, toutes les solutions étaient assez complexes, et j'ai trouvé une solution vraiment simple (je ne sais pas si elle est disponible pour toutes les versions de sdk). Il ouvrira le document pdf dans une fenêtre de prévisualisation où l'utilisateur pourra visualiser et enregistrer / partager le document:
(Kotlin)
la source
Téléchargez le code source à partir d'ici ( Open pdf in webview android )
activity_main.xml
MainActivity.java
la source
Il s'agit de la limite d' utilisation réelle autorisée par Google avant d'obtenir l'erreur mentionnée dans les commentaires , si c'est un pdf unique dans la vie que l'utilisateur ouvrira dans l'application, je me sens totalement en sécurité. Bien qu'il soit conseillé de suivre l'approche native en utilisant le framework intégré dans Android à partir d'Android 5.0 / Lollipop, cela s'appelle PDFRenderer .
la source
la source