PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV Mobile 2024 → Afficher un fichier pdf dans una application Android
Afficher un fichier pdf dans una application Android
Débuté par Fed53, 24 déc. 2014 11:18 - 12 réponses
Posté le 24 décembre 2014 - 11:18
Bonjour à toi,

Je développe une application Android, je tente d'afficher un fichier PDF dans mon application.
J'ai tenté ces solutions qui fonctionne sous iOS :
MonImage = "fichier.pdf" (affichage dans un champ image)
MonChampHtml = "fichier.pdf" (affichage dans un champ html)

Avez-vous une solution à me proposer pour afficher un fichier PDF dans mon application ?

Merci d'avance,
Posté le 24 décembre 2014 - 15:16
Bonjour,

Tout simplement : lanceappliassociée

Bonnes fêtes.
Posté le 10 janvier 2015 - 17:16
Paul a écrit :
Bonjour,

Tout simplement : lanceappliassociée

Bonnes fêtes.


Bonjour Paul,

Et si on a aucune application qui lit les fichiers PDF sous Android ?
Le but étant d'après ce que je lis au fil du forum d'utiliser Windev Mobile pour lire les PDF.
Il semblerait que dans ce cas-là Windev Mobile ne se suffise pas à lui-même...

Cordialement.
Posté le 11 janvier 2015 - 01:52
Bonjour

je n'ai pas testé, mais si c'est comme sous windev, on peut les afficher
dans un champ image

Cordialement


--
Fabrice Harari
Consultant WinDev, WebDev et WinDev Mobile International

NOUVEAU: WXReplication, votre système de réplication open source est
disponible sur mon site web !!!
WXShowroom.com : Montrez vos projets !
Plus d'information sur http://fabriceharari.com


On 1/10/2015 11:16 AM, Olivier Meynard wrote:
Paul a écrit :
Bonjour,

Tout simplement : lanceappliassociée

Bonnes fêtes.

Bonjour Paul,

Et si on a aucune application qui lit les fichiers PDF sous Android ?
Le but étant d'après ce que je lis au fil du forum d'utiliser Windev
Mobile pour lire les PDF.
Il semblerait que dans ce cas-là Windev Mobile ne se suffise pas à
lui-même...

Cordialement.
Posté le 11 janvier 2015 - 12:10
Bonjour à tous,

Je ne souhaite pas utiliser lanceappliassociée puisque ça force l'utilisateur à sortir de l’application.
Pour l'affichage du pdf dans un champ image cela ne fonctionne pas sous Android.
J'ai contacté le support technique concernant le problème, ils m'ont informé qu'il n'était pas possible d'afficher un fichier pdf dans une application android.

En espérant que la fonctionnalité arrive très vite dans une mise à jour.

Fed53
Membre enregistré
309 messages
Popularité : +31 (37 votes)
Posté le 11 janvier 2015 - 17:36
Bonjour,
D'abord etonné qu'un champ webview (html) ne fasse pas l'affaire, après recherche, il apparait qu'on ne puisse charger que des pdf via URL (et non stockes localement), et au prix d'un contournement via google docs :
"http://docs.google.com/gview…=http://www.exemplesite.com/exempledoc.pdf"

Bon dev
Message modifié, 11 janvier 2015 - 21:11
Membre enregistré
309 messages
Popularité : +31 (37 votes)
Posté le 12 janvier 2015 - 10:52
Bonjour,
Je complete mon post sur l'affichage de pdf dans un champ HTML sous android.
Désolé pour la prose ...

1 - EXPLICATION

Le champ WebView natif pointé par le champ HTML ne supporte pas l'affichage de PDF.
Pour obtenir l'affichage effectif, on passe donc par un site externe (google docs) qui affichera (en utilisant du javascript) le PDF passé en paramètre.
Par ailleurs, le javascript est par défaut désactivé sur un champ WebView...il faut donc activer le javascript avant de procéder à l'affichage.

2-IMPLEMENTATION

A - creer une procedure globale en java permettant d'activer le javacript d'un champ HTML :

import android.webkit.WebView;
PUBLIC static void activerjavascript(string nomchamp)
{
WebView mywebview=(WebView) getView(nomchamp);
mywebview.getSettings().setJavaScriptEnabled(True);
}

B - Dans la fenetre contenant le champ HTML, avant de demander l'affichage du pdf, activer le javascript html :

activerjavascript("nomduchamphtml_entre_guillemets")

puis

affecter le lien à afficher au champ HTML sous la forme suivante
HTML1="https://docs.google.com/viewer?url=" +"http://monsite.exemple.com/mondoc.pdf"+"&embedded=true"


Corollaire de tout ceci : l'affichage d'un pdf LOCAL dans un champ HTML android n'est pas possible, on doit passer par une url publique.

Bon dev
Posté le 12 janvier 2015 - 16:03
Bonjour,

Merci pour ta réponse. Ce qui est contraignant dans ta solution c'est qu'il est nécessaire d'avoir une connexion internet pour afficher le fichier. Mon application fonctionne sans connexion internet, je ne peux donc pas utiliser ta méthode.

Cordialement,

Fed53
Membre enregistré
309 messages
Popularité : +31 (37 votes)
Posté le 13 janvier 2015 - 17:15
Bonjour,
J'ai posté une ressource sur le site de dépot PCSOFT qui pourrait vous intéresser.

http://depot.pcsoft.fr/resource.awp…

Bon dev.
Posté le 14 janvier 2015 - 10:24
Bonjour,

Merci vraiment beaucoup pour votre projet. La solution fonctionne parfaitement.

Cordialement,

Fed53
Membre enregistré
74 messages
Popularité : +5 (5 votes)
Posté le 05 juillet 2015 - 18:10
Bonjour à tous,

Tout fonctionne bien, sauf si je veux quitter la page pour une autre, l'appli plante complet ... avez vous eu le meme probleme ? Merci :)

Bises
Alexandra
Posté le 24 août 2019 - 10:30
Bonjour,
J'éprouve d'énormes difficultés à afficher en local mon fichier pdf (Mon fichier.pdf) situé dans ma tablette .
J'ai bien extrait le contenu du fichier ZIP , WD_pdfjs2.zip.

Mon URL donne ceci: file:///storage/emulated/0/data/data/net.iep.akila/files/_Fic_pdf/viewersvg.html?url=./TMPPDF_2019082306594804HTML1.pdf&ti=2019082015185738

J'ai bien suivi toutes les étapes mais hélas toujours pas d'affichage de TMPPDF_2019082306594804HTML1.pdf
Merci de m'aider.
J'utilise Windev 23
Posté le 20 septembre 2021 - 11:26
Il suffit de découper ton fichier pdf par page. Chaque page en une image
iMonImagePdf = PDFExtraitPage(sFichierPdf,I)
Que tu sauvegardes ds un fichier ou sur le Serveur
Ensuite utilises une Zone répétée pour afficher tes images
Pas besoin de lecteur PDF
Ton Pdf sera affiché sans problème sous endroide ou autres IO

//Comment remplir la Zone répétée
iMonImagePdf est une Image
nIndice est un entier
sNomPhoto est une chaîne

HLitPremier(F_PhotoPDFAssistances,IDF_PhotoPDF)
SI HTrouve(F_PhotoPDFAssistances) ALORS
TANTQUE HEnDehors(F_PhotoPDFAssistances) = Faux
sNomPhoto = fExtraitChemin(F_PhotoPDFAssistances.NomPhoto_Num, fFichier + fExtension)
iMonImagePdf = dChargeImage(gsRepPdfAssistances + sNomPhoto)
nIndice = ZoneRépétéeAjouteLigne(ZR_F_PhotoPDFAssistances)
// Puis initialisation des champs
ZR_F_PhotoPDFAssistances[nIndice].IMG_IMGPdf = iMonImagePdf
HLitSuivant(F_PhotoPDFAssistances)
FIN
SINON
Info("Ouverture PDF impossible)")
FIN