Comment puis-je imprimer un document HTML à partir de C # ou javascript sans confirmation de l'utilisateur?

StackOverflow https://stackoverflow.com/questions/1263171

Question

Je voudrais envoyer un travail d'impression à l'imprimante sans que l'utilisateur ait à cliquer sur « OK » dans la fenêtre de dialogue de confirmation d'impression.

C # code-behind ou javascript serait bien, selon fonctionne mieux.

Alors ... Je sais que possible d'imprimer un document HTML, mais est-il possible d'imprimer sans que l'utilisateur en cliquant OK ?

  • La raison pour laquelle je pose cette question parce que le travail d'impression imprime un document hors 100 fois, insérer dynamiquement des valeurs de formulaire. (Imaginez que vous imprimant une carte de remerciement à 100 personnes, et ne voulait pas changer le nom vous 100 fois). Si l'utilisateur doit confirmer le travail d'impression pour chacun de ces documents, il va prendre un certain temps pour terminer un seul travail d'impression. Maintenant, imaginez si les travaux d'impression 100 sont entrés en une seule journée! C'est une heure de dépenses personne suffit de cliquer sur « OK » 10000 fois.

Remarque: Il n'y a qu'une seule personne qui va avoir besoin d'utiliser la forme d'impression, donc si elle est une question de réduire les problèmes de sécurité dans le navigateur qui fonctionnerait. Je dois juste une façon de permettre à tous les 100 impressions à passer par sans confirmation de chacun (même seulement 1 confirmation par 100 serait bien, mais le document doit encore changer à chaque fois).

Était-ce utile?

La solution

De tout navigateur majeur - je suis sûr que vous ne pouvez pas.

Vous pouvez créer une application WinForm qui a un contrôle WebBrowser intégré dans et imprimer à partir de là sans confirmation de l'utilisateur (si je me souviens bien, il y a une méthode d'impression sur l'objet).

Autres conseils

Je trouve cette question que je cherchais une solution à ce problème, et je posterai ici au moins pour ma propre référence. Il peut être fait assez simple dans Firefox (testé avec version 3.5.):

  • Aller à about: config dans la barre d'adresse de Firefox
  • Faites un clic droit sur le premier paramètre, allez à nouveau -> booléen -> ajouter "print.always_print_silent" -> valeur "true"
  • Redémarrez Firefox

Maintenant, si vous appelez window.print () à partir de la page javascript est imprimé sans confirmation préalable.

Source: http://forums.mozillazine.org/viewtopic .php? f = 40 & t = 48336 & start = 0

Si vous utilisez Internet Explorer 5.5 ou version ultérieure, cela devrait fonctionner:

function printit(){ 
    var WebBrowser = '<OBJECT ID="WebBrowser1" WIDTH=0 HEIGHT=0 CLASSID="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2"></OBJECT>'; 
    document.body.insertAdjacentHTML('beforeEnd', WebBrowser); WebBrowser1.ExecWB(6, -1); 
    WebBrowser1.outerHTML = ""; 
}

Pourquoi ne pas créer une seule page avec toutes les 100 cartes et impression qui, assurez-vous que vous avez des sauts de page appropriées.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top