Ouvrir le fichier PDF dans une WebView
Je veux ouvrir un fichier PDF dans mon WebView, et je l'ai trouvé et combiné des codes sur ce forum.
Mais il attrape la "Non application PDF trouvé" bien que j'ai plusieurs PDF applications installées, y compris Adobe Reader.
Voici le code:
private class PsvWebViewClient extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
if (url.contains(".pdf")) {
Uri path = Uri.parse(url);
Intent pdfIntent = new Intent(Intent.ACTION_VIEW);
pdfIntent.setDataAndType(path, "application/pdf");
pdfIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
try
{
startActivity(pdfIntent);
}
catch(ActivityNotFoundException e)
{
Toast.makeText(PsvWebViewActivity.this, "No PDF application found", Toast.LENGTH_SHORT).show();
}
catch(Exception otherException)
{
Toast.makeText(PsvWebViewActivity.this, "Unknown error", Toast.LENGTH_SHORT).show();
}
}
return true;
} } }
Je trouve étrange que cela ne fonctionne pas, et que la seule solution était de le présenter dans une WebView à l'aide de google, alors qu'en réalité il avait vraiment l'air que tu voulais à la main le fichier PDF dans une autre application.
OriginalL'auteur Lars Van de Donk | 2012-02-24
Vous devez vous connecter pour publier un commentaire.
(1) Google Docs Viewer, Vous pouvez l'ouvrir dans le Navigateur android comme,
Mise à jour:
(2) Cochez cette bibliothèque, dans construire.gradle(app module) ajouter cette dépendance,
Il ouvre seulement un nombre limité d'url. Après cela, il affiche un message "Vous avez atteint le maximum de la bande passante". Des alternatives?
Cela fonctionne pour les fichiers locaux-je.e placer les fichiers sur la carte sd?
il fonctionne, mais parfois il se "Aucun Aperçu Disponible"
Donne juste une page blanche.
OriginalL'auteur Samir Mangroliya
Je sais, cette question est ancienne.
Mais j'aime bien l'approche de Xamarin de faire usage de la pdf.js à partir de Mozilla. Il fonctionne sur les anciennes versions d'Android, vous n'avez pas besoin d'un Visualiseur de PDF app pour cela et vous pouvez facilement afficher un PDF à l'intérieur de vos applications points de vue de la hiérarchie.
Git pour cela: https://mozilla.github.io/pdf.js/
Options supplémentaires: https://github.com/mozilla/pdf.js/wiki/Viewer-options
Il suffit d'ajouter le pdfjs les fichiers de votre répertoire Actif:
Et appeler cela de la manière suivante:
Chose de Cool: Si vous voulez réduire la quantité de fonctionnalités /controls. Aller à la Assets/pdfjs/web/viewer.html fichier et de la marque de certains contrôles cachés. Avec
E. g. Si vous n'aimez pas le droit de la barre d'outils:
il est possible de lire le fichier de renseignements personnels (internes app) dossier?
Peut-être que cela vous aide: stackoverflow.com/questions/11406084/... . Mais vous pouvez également ouvrir une nouvelle question sur StackOverflow, concernant votre question
pourrais-je placer ce pdfjs sur le serveur et l'utilisation serverside url à ouvrir le pdf des aperçus si je suis en ligne? Il faut 12 MO alors que mon application s'ouvre en ligne des fichiers pdf, il sera agréable d'enregistrer ce 12 mo de apk taille
ce sujet de la SCRO - origine de la croix de partage de ressources. J'essaie d'ouvrir un fichier à partir d'une url réseau
OriginalL'auteur Lepidopteron
vous pouvez essayer cette.
il fonctionne pour les .pdf et .docx
OriginalL'auteur Dinesh Sarma
L'ancienne url ne fonctionne pas utiliser cette nouvelle adresse
Je pense que cela a une limite , donc le meilleur moyen est de lancer directement une intention à une visionneuse de pdf application , si il n'y a pas d'application pour le lancement de pdf, puis utiliser une webview.
OriginalL'auteur Manohar Reddy
ce travail pour moi
OriginalL'auteur Maysam R
Mise à jour:
Cela va ouvrir l'application (PDF Viewer) pour afficher le fichier pdf si OS >= Guimauve API (23), sinon vous allez ouvrir le navigateur pour afficher le pdf à l'aide de "docs.google.com" du serveur.
OriginalL'auteur Abdulmajeed Alyafey