11484 sujets

JavaScript, DOM et API Web HTML5

Bonjour à tous,

Je cheche à mettre en place un bouton d'impression afin d'imprimer une <div> (adresse) sur une imprimante dédiée.


<div id="printable-adress">
	<p id="name">(…)</p>
	<p id="address1">(…)</p>
</div>
<form>
<input id="impression" name="impression" type="button" onclick="printdiv('printable-adress')" value="Imprimer cette adress" />
</form>



      function majuscule(obj)
      {
      	
        var minus = "aàâäbcçdeéèêëfghiîïjklmnoôöpqrstuùûvwxyz"        
        var majus = "AAAABCCDEEEEEFGHIIIJKLMNOOOPQRSTUUUVWXYZ"
        var entree = obj;
        
        var sortie = "";
        for (var i = 0 ; i < entree.length ; i++)
        {
          var car = entree.substr(i, 1);
          sortie += (minus.indexOf(car) != -1) ? majus.substr(minus.indexOf(car), 1) : car;
        }
        
        return sortie
      }

   function printdiv(divID)
    {
      var headstr = '<html><head><title></title><link href="/css/adress-printable.css" rel="stylesheet" type="text/css"/></head><body>';
      var footstr = "</body>";
      var newstr = document.all.item(divID).innerHTML;
      var uppernewstr = majuscule(newstr);
      var oldstr = document.body.innerHTML;
      document.body.innerHTML = headstr+newstr+footstr;
      window.print();
      document.body.innerHTML = oldstr;
      return false;
    }


Cela fonctionne mais cela ouvre la boite de dialogue d'impression, et je dois choisir l'imprimante.
Voyez vous un moyen permettant d'imprimer à la voler en choisissant l'imprimante et sans passer par la box de dialog?
Aparement, ce n'est pas possible sauf à passer par des solution proprio,

Mais sauriez vous juste si il est possible de prédéfinir au mois l'imprimante?
Modérateur
Hi,

non, javascript ne permet pas cette intrusion (pour des raisons évidentes) sans passer par des bricoles propriétaires de navigateurs.

La solution la plus propre est d'utiliser un système tiers qui lancera l'impression, et que le script appellera par webservice.