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

JavaScript Discussion :

Afficher champs texte sur une image à imprimer en pdf (jsPDF)


Sujet :

JavaScript

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Afficher champs texte sur une image à imprimer en pdf (jsPDF)
    Bonjour,

    Mon objectif est de remplir certaines données, telles que noms / date / lieu vers des champs sur une image (qui est un pliage à effectuer) pour ensuite le générer en pdf à imprimer en A4....

    J'ai déjà commencé avec des champs input pour les mettre en forme (rotation, positionnement), cependant je ne sais pas comment les positionner sur une image (ou un pdf si c'est possible), le résultat doit être en A4 (donc le document existant cible ne peut pas être modifier en taille).....

    Qui pourrait me conseiller, je vous situe mon niveau, très amateur, je réalise ce petit projet en dehors de mon travail pour un groupe d'échange de graine et plante, et c'est donc le pliage d'enveloppe que j'ai déjà réalisé, cependant comme nous avons bcp de plantes différentes, les noms changent souvent, afin d'éviter l'édition constante du fichiher d'origine, je voudrais donc mettre en place une petite app qui pourrait le faire via html/jscript,.... évidemment mon niveau est à la découverte de cet environnement qui ne m'est pas quotidien....

    Me conseillez-vous de placer l'image (jpg) dans un "canvas" ? (je pense que cela permet d'éditer les textes sur image, mais est-ce que la fonction jspdf prendra en charge toute la page) et à quel moment / où mettre le script ? Puis-je passer d'une page "vierge" uniquement avec les champs input avec des données vers une autre page avec le positionnement des textes sur un canvas pour à ce moment opérer un "body onload = jspdf (impression en pdf)....

    Je suis toute ouie :-)

    Voici déjà une ébauche du travail accompli, mais je pense que je m'y prends mal (je pense que je ne comprends pas bien comment intégrer l'image (pliage) aux données introduites...) ...

    Code HTML : 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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    <!DOCTYPE html>
    <html>
      <head>
      <meta charset="utf-8">
      	<title>Produire sa pochette de semence à imprimer en PDF !</title>
     
      	<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>  	
       	<script type="text/javascript" src="js/jspdf.min.js"></script> 
     
      </head>
      <body>
     
        <label for='name'>Nom :</label>
        <input type="text" id='name' /><br \>
        <label for='daterec'>Date récolte :</label>
        <input id='daterec' /><br \>
        <label for='origine'>Origine :</label>
        <input id='origine' /><br \>
        <label for='color'>Couleur :</label>
        <input id='color' /><br \>
        <br \>
     
        <br \>
        <button type="button">Production pochette PDF !</button>
     
    <!-- <button id="maz" onclick=clear()>Effacer</button> -->
        <button id="pfuit" onclick="propre()">Tout effacer</button>
     
     
    <script>
            $(document).ready(function(){
                    $("button").click(function(){
                            var namex = $.trim($("#name").val());
                                    if(namex != ""){
                                            // show alert dialog if value is not blank
                                            var doc = new jsPDF();
                                            /// doc.text("Enveloppe de " + namex,10,10);
                                            /// doc.save("Pochette.pdf");
                                            
      const nameInput = document.getElementById('name');
      const name = nameInput.value;
      const colorInput = document.getElementById('color');
      const color = colorInput.value;
      const daterecInput = document.getElementById('daterec');
      const daterec = daterecInput.value;
      const origineInput = document.getElementById('origine');
      const origine = origineInput.value;
     
      doc.text(115, 25, `Nom : ${name}`, null, -45);
      doc.text(113, 35, `Couleur : ${color}`, null, -45);
      doc.text(152, 88, `Origine : ${origine}`, null, -45);
      doc.text(113, 48, `Date réc/fin : ${daterec}`, null, -45);
      doc.save("Enveloppe"+namex+".pdf");
                                            
                                    }
                                    
                                    else alert("Nom obligatoire !");
                    });
            });
     
     
    function propre() {
    var elems = document.getElementsByTagName("input");
    var l = elems.length;
    for (var i = 0; i < l; ++i){
      elems[i].value="";
    }
    }
    </script>
     
      </body>
    </html>


    et le gabarit de pliage en image avec les champs vides au format A4
    Nom : NET_PochetteA5-POT-h-gab.jpg
Affichages : 317
Taille : 334,2 Ko

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

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 305
    Points : 15 633
    Points
    15 633
    Par défaut
    regardez sur le site de présentation de jspdf, il y a plusieurs exemples dont l'utilisation d'une image.
    https://parall.ax/products/jspdf

Discussions similaires

  1. [SDL 2.0] Ecran tampon pour afficher du texte sur une image
    Par vivid dans le forum SDL
    Réponses: 10
    Dernier message: 02/11/2020, 17h03
  2. Afficher un texte sur une image json
    Par MarilenaF66 dans le forum jQuery
    Réponses: 5
    Dernier message: 26/01/2019, 19h32
  3. Positionnement de texte sur une image
    Par inddzen dans le forum Windows
    Réponses: 2
    Dernier message: 08/08/2005, 12h22
  4. [HTML]Peut-on écrire un texte sur une image ?
    Par flogreg dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 28/02/2005, 17h24
  5. [VB.NET] [WinForms] Afficher un rectangle sur une image
    Par Noodles dans le forum Windows Forms
    Réponses: 3
    Dernier message: 20/12/2004, 10h36

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