Partage
  • Partager sur Facebook
  • Partager sur Twitter

impression d'un tableau

    5 septembre 2013 à 14:06:45

    Bonjour, 

    Je suis dans le cas suivant je désite imprimer juste le tableau qui est contenu dans ma balise <table> du coup j'utilise la librairie jPrint mais avec un $(".montableau").print mais le problème est que le script me met tout sur une seul ligne, qqun connaitrait-il une lib pour imprimer mon tableau avec la mise en forme d'un tableau ? 

    Merci d'avance !

    • Partager sur Facebook
    • Partager sur Twitter
      10 septembre 2013 à 17:32:52

      Pourquoi ne pas utiliser une fonction comme ceci:

      function print()

      {

          var printFriendly = document.getElementById("TaDiv");

          var printWin = window.open("about:blank","Voucher","menubar=no;status=no;toolbar=no;");

          printWin.document.write(printFriendly.innerHTML);

          printWin.document.close();

          printWin.window.print();   

          printWin.close();

      }

      • Partager sur Facebook
      • Partager sur Twitter
        12 septembre 2013 à 10:03:08

        C'est exactement ce que j'ai fait mais cela imprime mon tableau sur une seul ligne d'ou mon problème :/
        • Partager sur Facebook
        • Partager sur Twitter
          25 août 2016 à 21:03:00

          jsthibault, tu as fini par trouver quelque-chose? je suis exactement au meme point que toi, et pas possible de trouver un sujet similaire, et clos :(
          • Partager sur Facebook
          • Partager sur Twitter
            26 août 2016 à 9:23:40

            • Partager sur Facebook
            • Partager sur Twitter
            Quand tu ne sais pas, Google reste ton meilleur ami ! ;)
              26 août 2016 à 11:26:09

              Bonjour bryan, merci pour ta reponse, je viens de lire et je vois pas ce que tu as mis de plus que moi dans le code? meme si en effet dans ton cas ca marche bien.

              Enfin j'ai quand meme fini par resoudre le probleme de la maniere suivante :

              Pour resoudre le probleme, je laisse le code des fois que ca serve a quelqu'un :

              JQuery :

              function imprimer_page()
                  {
                  var Printer=new Object();
                  
                      var win = window.open(location,null,null)
                      win.blur(); window.focus(); 
                      win.document.title="Apercu de l'impression en cours";
                      win.document.write("<html><head><title>"+document.title+"</title></head><link rel='stylesheet' href='style.css' type='text/css' ><body>" + document.getElementById('colDroite').innerHTML +"</body></html>")
                      win.print();
                      win.close();
              		
                  //window.top.Printer=Printer;
                  }

              du cote HTML : <input id="impression" name="impression" type="button" onclick="imprimer_page()" value="Imprimer" />

              En fait avant j'imprimais mon tableau : document.getElementById('monTableau'), mais la tout etait affiche sur une ligne.

              Cette nuit j'ai eu l'idee de ne pas imprimer mon tableau, mais le <div> qui contient mon tableau, et la ca marche tres bien.

              Enfin en tout cas ca marche pour le PDF, j'attends de pouvoir tester ce que ca donne avec une imprimante.



              • Partager sur Facebook
              • Partager sur Twitter
                26 août 2016 à 11:47:06

                Je te cache pas que j'ai pas trop cresué, j'ai trouvé ca sur stackoverflow et ca fonctionnait donc j'ai partagé me disant que ca pouvait aider.

                La comme ca, la petite différence que je vois c'est que tu utilises innerHTML alors que le script proposé utilise outerHTML, je pense que ca peut y jouer

                • Partager sur Facebook
                • Partager sur Twitter
                Quand tu ne sais pas, Google reste ton meilleur ami ! ;)
                  28 août 2016 à 19:19:50

                  Donc par curiosie j'ai verifie, et je confirme, si j'utilise "outerHTML" sur mon tableau, ca fait la meme chose que si j'utilise innerHTML sur le DIV comprenant mon tableau :)

                  • Partager sur Facebook
                  • Partager sur Twitter
                    29 août 2016 à 9:08:00

                    Ok, c'est bon à savoir! :)
                    • Partager sur Facebook
                    • Partager sur Twitter
                    Quand tu ne sais pas, Google reste ton meilleur ami ! ;)
                      29 août 2016 à 19:30:36

                      Je me permets de faire un dernier post, pour eclairer la lanterne de ceux qui passeraient par la(mon dernier post manquait d'explications)

                      document.getElementById('tableau').outerHTML :

                      Me selectionne tout le 'tableau' et son contenu.

                      document.getElementById('monDiv').innerHTML :

                      Selectionne tout ce que contient 'monDiv'.

                      Avant j'utilisais innerHTML sur mon tableau ( document.getElementById('tableau').innerHTML ), donc en gros je recuperais pas <tableau> mais juste son contenu, d'ou le petage de mise en forme(et les couleurs qui disparaissaient de part et d'autre, car mon css les appliquait sur les cellules de 'tableau'.

                      donc en gros je peux faire une des deux solutions :

                      document.getElementById('tableau').outerHTML 

                      document.getElementById('monDiv').innerHTML 

                      Les deux marchent pareil

                      Conclusion : 

                      innerHTML sert a recuperer le contenu

                      outerHTML recupere le contenu ET le contenant

                      -
                      Edité par sigou 29 août 2016 à 19:30:59

                      • Partager sur Facebook
                      • Partager sur Twitter

                      impression d'un tableau

                      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                      • Editeur
                      • Markdown