Android - Charge PDF à l'intérieur de webview
J'ai cette webview code et je veux qu'il soit possible d'avoir les fichiers PDF s'ouvre lorsqu'un utilisateur clique sur un lien PDF. Voici le code, pouvez-vous me dire ce que je dois mettre dans le PDF de la zone? J'ai essayé beaucoup de différentes manières et je ne peux pas obtenir le fichier PDF pour l'afficher. Merci pour l'aide.
webview.setWebViewClient ( new WebViewClient() {
public boolean shouldOverrideUrlLoading(WebView view, String url) {
//do your handling codes here, which url is the requested url
//probably you need to open that url rather than redirect:
if (url.startsWith("tel:")) {
startActivity(new Intent(Intent.ACTION_DIAL, Uri.parse(url)));
} else if (url.startsWith("mailto:")) {
url = url.replaceFirst("mailto:", "");
url = url.trim();
Intent i = new Intent(Intent.ACTION_SEND);
i.setType("plain/text").putExtra(Intent.EXTRA_EMAIL,
new String[]{url});
startActivity(i);
} else if (url.startsWith("geo:")) {
try {
} catch (Exception e) {
System.out.println(e);
}
} else if (url.endsWith("pdf")) {
try {
} catch (Exception e) {
System.out.println(e);
}
} else {
view.loadUrl(url);
}
return true;
//then it is not handled by default action
}
});
OriginalL'auteur user1363871 | 2012-05-09
Vous devez vous connecter pour publier un commentaire.
Cela pourrait être aussi simple que:
si je n'ai pas essayé ce.
Dans nos applications, nous avons TÉLÉCHARGEZ le PDF pour les applications de système de fichier, de le rendre lisible par tout le monde, passer ensuite le chemin d'accès dans une Intention d'ouvrir un PDF de la visualisation d'application (ex: Acrobat Reader). Veuillez noter que vous aurez également besoin d'être également concernés par le nettoyage de ces téléchargé en format PDF!
dans votre bloc try mettre
DownloadPDFTask classe:
toute référence à "myActivity" doit être remplacée par une référence à votre classe d'Activité
Non, contrairement à la UIWebView sur iOS, Android WebView ne pas afficher le contenu PDF. Vous pouvez essayer de directement l'appel de l'intention (c'est à dire pas de AsyncDownloadTask), si vous serez en laissant votre activité n'importe quoi.
Hmm, donc la meilleure façon d'android serait d'appeler l'async pour télécharger le fichier et l'enregistrer. Savez-vous si le processus peut trouver automatiquement le nom de fichier et l'enregistrer sous ce nom sur la carte SD? J'ai toujours indiqués le nom lors de l'utilisation de ce. Merci!
J'essayais juste de remettre votre http://{fichier}.pdf url de l'intention, je pense que le programme visionneuse PDF (par exemple Acrobat) va prendre soin de tout le reste. Si ça ne marche pas, le downloader tâche devrait vous donner un bon point de départ. Cette partie du code gère l'affectation de noms de fichier, il extrait le nom de fichier à partir de votre URL: // nom local à la dernière partie de l'URL String[] strURLParts = url[0].split("/"); if (strURLParts.length > 0) mFileName = strURLParts[strURLParts.longueur - 1]; else mFileName = "le RAPPORT.pdf";
OriginalL'auteur CSmith
J'essayais de gérer exactement le même scénario. La solution que j'ai trouvé est ci-dessous.
J'avais besoin pour s'assurer qu'il serait en mesure de gérer pdf liens, même si il y avait une chaîne de requête. Encore un très orthodoxe comme l'cleanUrl doit prendre fin en "pdf", mais aussi longtemps que cela est vrai, cela devrait fonctionner. Si vous servez les fichiers pdf par le biais d'un script php ou quelque chose, vous pourriez voulez creuser un peu plus profond, de gérer les choses en se basant sur les types MIME ou quelque chose.
OriginalL'auteur Shane
Chargement pdf dans une webview:
mUrl - sera votre lien pdf
OriginalL'auteur DoronK
Veuillez commander l'exemple pour la manipulation d'url de redirection et ouvrir le fichier PDF sans téléchargement, dans webview.
OriginalL'auteur Ashish Das
FWIW, mozilla a une PDF-reader-entièrement en JavaScript c'est sous licence apache. Peut-être intéressant de regarder dans si vous n'avez pas l'esprit de la taille supplémentaire. De cette façon, vous pouvez tout faire dans le navigateur et ne pas avoir à compter sur une 3ème partie lecteur de PDF.
OriginalL'auteur fattire