IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bibliothèques et frameworks PHP Discussion :

Demande d'avis sur l'impression de page web


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Membre à l'essai
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Décembre 2017
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Décembre 2017
    Messages : 34
    Points : 14
    Points
    14
    Par défaut Demande d'avis sur l'impression de page web
    Bonjour,

    Déjà, désolé si je suis pas au bon endroit.

    J'ai un développement web en php et javascript. J'ai besoin d'exporter certaines données (tableau, graphique et carte) au format PDF.

    Après recherche, j'ai fait des essais avec html2pdf et cela semble répondre à mes attentes.

    Le problème c'est que html2pdf s'exécute coté serveur en php et que j'aimerai pouvoir imprimer des canvas ; grahiques (Chartjs) et cartes (OpenLayers) qui s’exécutent coté client.

    Pour pallier à cela, j'ai testé pour enregistrer une image des canvas sur le serveur et de les supprimer ensuite :

    fonction pour générer l'image du canvas :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    function essai(){
        var canvas = document.getElementById('myCanvas');
        var dataURL = canvas.toDataURL();
     
     
        $.ajax({
            type:"POST",
            url :"script.php",
            data : {
                imgBase64: dataURL
            }
        }).done(function(o){
            console.log(o);
        });
     
     
    }
    Enregistrement de l'image
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    //imgBase64
    $upload_dir = 'uploads';
     
    $img =$_POST['imgBase64'];
    $img = str_replace('data:image/png;base64,','',$img);
    $img= str_replace(' ','+',$img);
    $data = base64_decode($img);
    $file= 'uploads/image_graph.png';
    $succes = file_put_contents($file,$data);
     
    echo $succes;
    et ensuite je peux intégrer l'image à mon PDF.

    Ça fonctionne mais je suis pas sûre que ce soit la bonne méthode.
    Pourriez vous me donner votre avis ? Peut être avez vous déjà été confronté à ce problème ?

    Merci à vous.

  2. #2
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 234
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 234
    Points : 15 531
    Points
    15 531
    Par défaut
    je n'ai pas encore eu ce cas mais en lisant ce que vous avez mis en place, je pense que j'aurais fait la même chose. chartjs et openlayers sont tellement pratique que ça prendrait plus de temps à redévelopper en php pour être utilisé côté serveur.

    maintenant il reste à voir si dans le cheminement des différentes actions, l'utilisateur passe toujours par l'affichage dans son navigateur pour pouvoir ensuite récupérer ces images en php. si ce n'est pas le cas, il faudrait faire une file d'attente et dès qu'un utilisateur affiche une page dans son navigateur, la page va générer de façon cachée ces images pour les envoyer ensuite au serveur.

  3. #3
    Membre à l'essai
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Décembre 2017
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Décembre 2017
    Messages : 34
    Points : 14
    Points
    14
    Par défaut
    Bonjour,
    Dans mon cas l’utilisateur affiche toujours les éléments carte ou graphique dans son navigateur avant de pouvoir les imprimer.

  4. #4
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 691
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 691
    Points : 20 222
    Points
    20 222
    Par défaut
    Et simplement une feuille de style dédiée à l'impression ne conviendrait pas ?
    Le menu "impression" des navigateurs permettent un export en pdf
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

Discussions similaires

  1. Demande d'avis sur un bouquin (Deitel)
    Par oodini dans le forum C++
    Réponses: 7
    Dernier message: 26/02/2005, 01h50

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo