Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
922 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Afficher une google map dans un pdf

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Afficher une google map dans un pdf

n°2334915
rufo
Pas me confondre avec Lycos!
Posté le 11-06-2019 à 12:30:04  profilanswer
 

Bonjour,
Dans l'appli GRR (gestion de réservations de ressources), il existe une fonction permettant de générer un pdf contenant une confirmation de sa réservation. Dans mon contexte d'utilisation, j'aurais besoin d'y ajouter une google map. Ce pdf est généré à partir d'une page html qui est ensuite transformée en pdf via la lib html2canvas.
Problème : à la place de ma google map, j'ai un rectangle gris où on voit juste écrit les infos du bas de la map ("L'image peut être protégée par des droits d'auteur   conditions d'utilisation" ).
 
J'ai essayé pleins de techniques différentes : une versions plus récente de html2canvas, phantomjs (mais là, ça pose des soucis de faire un script pour s'authentifier d'abord puis ensuite d'accéder à la page désirée, bref, une vraie galère), quelques variantes de html2canvas. J'ai cherché pleins de trucs sur le web. Y'a bien l'API de Google pour des static maps mais ma clé d'API pour ma google map n'est pas éligible à cette API. J'ai cru comprendre qu'il fallait payer (pas possible dans mon cas).
 
Bref, j'ai cherche via Firefox comment on pouvait déclencher une capture d'écran d'une page web automatiquement, sans succès. J'ai cherché comment transformer en image une div google map, sans succès :(
 
Vous auriez une idée par hasard, svp ?
Merci :jap:


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
mood
Publicité
Posté le 11-06-2019 à 12:30:04  profilanswer
 

n°2334918
rat de com​bat
attention rongeur méchant!
Posté le 11-06-2019 à 13:43:35  profilanswer
 

Tu es obligé d'utiliser le méchant Google? :o Sur https://www.openstreetmap.org il y a une fonction exporter une image (caché sous le nom "share"/partager), il doit exister une API pour ça. En plus c'est sous licence libre.
Sinon il existe https://www.seleniumhq.org/ , peut-être on peut faire une capture d'écran avec, mais cela a l'air très complexe.


Message édité par rat de combat le 11-06-2019 à 13:44:44
n°2334919
rufo
Pas me confondre avec Lycos!
Posté le 11-06-2019 à 14:11:28  profilanswer
 

Pour être précis, j'utilise Google map pour afficher des données Géoportail. L'API de l'IGN est vrai une grosse daube. :/
Après, j'ai utilisé Google map parce que j'ai déjà fait pleins de trucs avec cette API et que devoir apprendre une nouvelle API sur un projet qui est très petit me paraît pas économiquement approprié.
 
J'ai vu qu OpenStreetMap reposait sur Leaflet.js qui est compatible avec Géoportail. Du coup, un de ces 4, ça vaudra le coup que je me penche sur la question, surtout si Google map devenait payant... En attendant, je dois faire avec.
 
Edit : et Selenium, je connais mais ça va être aussi complexe que Phantomjs. Or, ma station de dév est sous Windows (pas le choix) et mon serveur de prod est sous Red Hat (là encore, pas le choix). Du coup, ça m'obligerait à gérer des binaires différents puisque Phantomjs est un exécutable qui exécute des fichiers javascript. Mais comme expliqué, va falloir faire un script d'authentification https, se balader dans les différentes pages, faire la capture d'écran, lancer le script de génération de pdf. Quand je vois l'exemple pour juste se connecter sur Amazon et faire un capture, c'est bien reloud :/ Comme le besoin est du "nice to have", je vais pas me lancer sur une telle solution. L'appli doit fonctionner sans truc à installer côté client (donc pas d'extension Firefox). Donc soit du javascript pour Firefox (et encore, je ne maîtrise pas complètement la version déployée dans les centres), soit un truc côté serveur (et si possible pas trop complexe à installer vu la criticité de l'exigence fonctionnelle ;)).


Message édité par rufo le 11-06-2019 à 14:17:56

---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°2334969
rufo
Pas me confondre avec Lycos!
Posté le 12-06-2019 à 14:54:10  profilanswer
 

Avoir un n° de CB dans une administration française, c'est chaud. Et je ne vais pas mettre la mienne même si ça coûte presque rien :o J'ai effectivement créé une nouvelle clé mais comme indiqué, pour la valider, il faut des coordonnées bancaires, chose que je n'aurai jamais :( Le contexte n'est pas une activité commerciale. La fonction de confirmation de réservation n'est pas essentielle et elle fonctionne. C'est juste qu'il n'y aura pas la map. C'est pas très grave...
Je voulais juste m'assurer de ne pas être passé à côté d'une solution.


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°2334977
mechkurt
Posté le 12-06-2019 à 15:16:13  profilanswer
 

Est ce que tu ne peux pas les préparer en amonts ?
C'est le client en faisant sa vente qui fixes le la localisation ou tu as des "produits" localisé ?
Dans le 2ème cas tu peux peut être avoir un cron qui génère tes images en fonction de tes produits (pas d'image => lien générique vers ton aplli avec Google Map, image carte personnalisé).


---------------
D3
n°2334989
rufo
Pas me confondre avec Lycos!
Posté le 12-06-2019 à 16:04:47  profilanswer
 

J'ai bien précisé qu'il ne s'agissait pas d'une activité commerciale. ;)
 
C'est la personne qui fait la réservation de la ressource et qui indique dans quelle zone elle va l'utiliser (cette zone étant définie par des paramètres métier). Donc pas possible de générer la carte avant :(


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°2335021
rufo
Pas me confondre avec Lycos!
Posté le 12-06-2019 à 19:12:44  profilanswer
 

Rat de combat avait proposé openstreetmap qui permet un export de la map en image. Donc si l'exigence d'avoir la map dans le pdf passait de "nice to have" à "il le faut absolument", alors je proposerai de recoder toutes les map de l'appli avec openstreetmap. Au stade où en est l'appli, ça va pas le coup/coût de recoder toutes ces parties "map".
 
Afficher un lien vers la google map dans le pdf peut être un bon compromis. Le hic, c'est que ma map contient des markers et un polygone. Je suis pas sûr que par une url, on puisse passer toutes ces infos :/


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°2335218
gatsu35
Blablaté par Harko
Posté le 14-06-2019 à 16:34:57  profilanswer
 

Mais googlemaps propose aussi une génération en image :  
https://developers.google.com/maps/ [...] atic/intro
 
Donc dans ta génération de PDF, tu dois récupérer l'image googlemaps pour ensuite l'injecter dans ton PDF.

n°2335222
rufo
Pas me confondre avec Lycos!
Posté le 14-06-2019 à 17:18:48  profilanswer
 

Je sais, je l'ai indiqué dans mon 1er post :o Mais cette API est payante et comme expliqué, pas possible pour moi de demander une CB à l'Administration.


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°2336037
skylight
Made in France.
Posté le 28-06-2019 à 00:05:44  profilanswer
 

rufo a écrit :

Je sais, je l'ai indiqué dans mon 1er post :o Mais cette API est payante et comme expliqué, pas possible pour moi de demander une CB à l'Administration.


Ah bon
Je m'en sers gratuitement et sans CB
Tu dois aller dans Google Cloud Platform, et créer un identifiant
Ensuite, tu ajoute ta ou tes API (maps, static maps, geolocation, etc), et basta :spamafote:


Message édité par skylight le 28-06-2019 à 00:06:12
mood
Publicité
Posté le 28-06-2019 à 00:05:44  profilanswer
 

n°2336038
rufo
Pas me confondre avec Lycos!
Posté le 28-06-2019 à 09:18:44  profilanswer
 

Ben c'est ce que j'ai fait. J'ai créé une adresse gmail puis j'ai créé une clé d'API google map mais il me demande de rentrer les coordonnées bancaires pour activer l'API.
Je serais preneur du "chemin" qui permet d'activer l'API sans passer par la saisie de ces coordonnées bancaires.
A noter que lorsque Google a changé son modèle économique de Google map il y a 2-3 ans, j'avais dû créer une clé API et pareil, il me demandais de rentrer des coordonnées bancaires mais j'avais fini par trouver un moyen de créer ma clé d'API sans saisir ces coordonnées. Mais impossible de retrouver comment j'avais fait :(


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°2336039
skylight
Made in France.
Posté le 28-06-2019 à 10:29:16  profilanswer
 
n°2336040
rufo
Pas me confondre avec Lycos!
Posté le 28-06-2019 à 11:29:52  profilanswer
 

C'est bien ce que je disais pour l'API map static : sur la page, c'est indiqué en rouge : "Reminder: To use the Maps Static API, you must include an API key with all API requests and you must enable billing on each of your projects. ".
 
Donc, c'est mort pour cette solution. :o


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°2336042
skylight
Made in France.
Posté le 28-06-2019 à 11:31:53  profilanswer
 

À défaut de CB tu mets un RIB;

n°2336044
rufo
Pas me confondre avec Lycos!
Posté le 28-06-2019 à 12:07:31  profilanswer
 

Je ne peux pas non plus. L'Administration va pas me donner ce genre de données.


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°2336049
skylight
Made in France.
Posté le 28-06-2019 à 12:44:00  profilanswer
 

Donc tu leurs dit que sans ça, ça ne sera pas possible, faut qu'ils soient responsables aussi :o

n°2336057
rufo
Pas me confondre avec Lycos!
Posté le 28-06-2019 à 16:00:08  profilanswer
 

C'est pas un souci : on m'a dit de laisser tomber si les coordonnées bancaires étaient nécessaire et qu'il n'y avait pas d'autre solution technique.


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Afficher une google map dans un pdf

 

Sujets relatifs
Afficher le contenu d'un fichier log dans une page HTMLRester invisible sur Google
Afficher les noms de villes avec Googlemap/géoportail[ACCESS] Afficher une valeur selon une autre
Afficher des valeurs d'une colonne à l'autre selon conditionafficher un mot si champ rempli
code HTML d'un bouton bas / haut de page dans Google siteafficher le résultat d'une recherche ajax pour POST
Afficher le compteur Google Analytics sur un siteReferencement : comment afficher ceci dans google?
Plus de sujets relatifs à : Afficher une google map dans un pdf


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR