PC SOFT
ONLINE REPOSITORY
FOR WINDEVWEBDEV AND WINDEV MOBILE

Home |  | Sign in | English US
Android : lecteur de PDF autonome dans un champ HTML (URL et fichiers locaux)
Published by Samir BOUCHETIBAT
in the category Tools
New features
La représentation des PDF en Javascript était faite jusqu'à présent via des canvas HTML5, ils sont remplacés dans cette version par des objets SVG (graphiques vectorisés) permettant un zoom fluide et bien plus net ainsi que la sélection de texte dans le corps des PDF.

Cependant, le mode SVG étant expérimental (fork de la version PDF.js), j'ai conservé la possibilité d'affichage par canvas (dans le cas de documents présentant des erreurs d'affichage).
A vous de tester !

N'ayant plus le temps de faire évoluer cet outil, je compte sur PC SOFT pour nous fournir prochainement un lecteur de PDF intégrable dans nos fenêtres Android ;)

Description
Ce projet WINDEV Mobile propose une solution pour consulter les PDF dans un champ HTML
Contrairement à la ressource postée précédemment, cette solution est complètement autonome et permet donc la lecture de fichier pdf locaux.

La solution se base sur le projet Mozilla Pdf.js qui est un client de lecture PDF en javascript.

Le rendu n'est pas optimal mais tout à fait suffisant pour des besoins de consultation classiques.

Pour intégrer dans vos projets :

- inclure les 2 procedures globales déclarées dans le projet
- Au moment de la génération de l'APK, inclure le fichier \exe\WD_pdfjs2.zip en tant que ressource




Illustrations, screen shots
none
none
User reviews
(To evaluate this resource, click 'Write a review')
Sylvain RAYMOND
Bonjour,
ce code est-il toujours valide en Windev Mobile 23?
J'essaie de le mettre en place mais apparemment il n'arrive pas à accéder au fichier source (ni en local dans "Repexe" ni à distance avec un pdf en ligne....
Le code semble fonctionner dans le mode test sous Windows mais pas sur le téléphone Android version 8
Merci pour votre aide.
Habib
Bonjour,
Samir je voudrais avoir quelque précisions sur le fonctionnement de ton lecteur Pdf. En tout les fichiers que j'ai installer y'a aucun qui s'ouvre sauf le fichier pdf qui a été fourni avec l'appli. j'ai mis tout les pdf dans le WD_js2 et ils s'ouvrent tous en simulation mais une fois l'appli généré y'a que le fichier "jesuischarlie.pdf" qui s'ouvre. j'ai intégré la procédure globale et le WD_js2.ZIP . je ne comprends pas pourquoi ça NZ marche pas sur l'APL
!!??
fed1023
Du coup le PDF est téléchargeable à l'adresse suivante : www.acces-sap.fr/cgv.pdf
Ce que j'ai pu apercevoir est comme la partie 9 : Non sollicitation du personnel.

Merci d'avance,
Fed1023
Samir BOUCHETIBAT
Bonjour,
Certains PDF peuvent poser des difficultés effectivement. Avez-vous essayé avec

showPDF (NomDuchampHtml, CheminCompletDuPDF, FAUX) //Paramètre FAUX pour affichage dans des canvas

Bon dev.
fed1023
Bonjour,

J'avais finalement trouvé une solution. Cependant pour afficher mon fichier PDF, je rencontre des problèmes de déplacement de caractères et de bavures. Avez-vous rencontré le même problème ?

Fed1023
Samir BOUCHETIBAT
Bonjour,

Les pdf n'ont (heureusement) pas besoin d'être présents dans l'archive.
Il suffit normalement d'appeler :

showPDF (NomDuchampHtml, CheminCompletDuPDF)

Vous devez bien entendu avoir les droits de lecture sur le CheminCompletDuPDF.
Je vous conseille donc de stocker vos PDF dans un sous-dossier de votre application en récuperant ce chemin avec frepexe() ou encore frepdonnees().

Bon dev.

Samir
fed1023
Bonjour Samir,

J'ai tenté à plusieurs reprises d'afficher un pdf qui n'est pas contenu dans l'archive. Avez-vous une solution pour réaliser cette manipulation ?

Cordialement,
Fed1023
fed1023
Merci pour cette nouvelle solution
fed1023
Bonjour Samir,
Merci beaucoup pour les indications. C'est exactement ce que j'ai tenté de faire mais il n'y a aucun changement.
Est-il nécessaire d'avoir le fichier à afficher dans le répertoire zip ?
Dans l'attente de la prochaine version,
Fed1023
Samir BOUCHETIBAT
Hello fed1023,
Pour retirer le cadre autour des pages, il faut modifier le fichier customview.cs present dans le zip. La foncton renderPage() effectue l'affichage, vous y trouverez des elements de style (style.boderstyle, style.bordercolor...) qu'il sufit de mettre en commentaire.

Reconstruisez ensuite le zip et desinstallez totalement votre appli du device android avant de redeployer
(en fait, la ressource n'est reinstallée que si elle n'est pas déjà présente dans le device, vous pouvez changer ce comportement dans la procedure windev showPDF )

Pour la seconde question (le double page en écran large), je le gérerai dans la prochaine version :
- Avec véritable navigateur et accès direct au pages
- Amélioration de la qualité de rendu (surtout en zoom)
Je ne travaille dessus que le WE merci de checker ici lundi ;)
fed1023
Je tente également de n'afficher qu'une page en largeur même si le champ html est large. Est-ce possible ? Merci
fed1023
Merci pour cette solution qui fonctionne parfaitement. Cependant, je tente d'enlever le cadre noir qui entoure chaque page et je n'y arrive pas. Est-ce que c'est possible ? Si oui, pouvez-vous me fournir des indication pour réaliser la manipulation. Merci d'avance
ABOUT
RATING:
52(2)
DOWNLOADS:
1,358
UPDATED:
January 19, 2015
VERSION:
1.1
CONCERNS:
WINDEV Mobile
Minimum version: 06F190056S
SIZE:
3.9 MB
OF SAME DEVELOPER