Imprimer directement à partir du navigateur sans fenêtre popup d'impression [dupliquer]
cette question a déjà une réponse ici:
- imprimer automatiquement L'Image du site web 9 réponses
comme il est dit dans le sujet, je dois créer une fonctionnalité pour une application basée sur le web qui permettra aux utilisateurs d'envoyer l'impression directement sans Demander une boîte de dialogue l'impression que j'.e cliquez sur imprimer, de le de simples! mais pas pour moi :(.
s'il vous plaît, suggérez ce qui serait la meilleure option et comment dois-je le rédiger (technologie).
suggérez s'il vous plaît!
Merci.
EDIT: l'impression doit être envoyée sur l'imprimante par défaut de l'utilisateur.
7 réponses
Je n'ai pas pu trouver de solution pour les autres navigateur. Quand J'ai posté cette question, IE était sur le priorité plus élevée et j'ai trouvé un pour elle. Si vous avez une solution pour les autres navigateurs (firefox, safari, opera) merci de partager ici. Grâce.
VBSCRIPT est beaucoup plus pratique que la création D'un ActiveX sur VB6 ou C#/VB.NET:
<script language='VBScript'>
Sub Print()
OLECMDID_PRINT = 6
OLECMDEXECOPT_DONTPROMPTUSER = 2
OLECMDEXECOPT_PROMPTUSER = 1
call WB.ExecWB(OLECMDID_PRINT, OLECMDEXECOPT_DONTPROMPTUSER,1)
End Sub
document.write "<object ID='WB' WIDTH=0 HEIGHT=0 CLASSID='CLSID:8856F961-340A-11D0-A96B-00C04FD705A2'></object>"
</script>
maintenant, appelant:
<a href="javascript:window.print();">Print</a>
sera envoyer l'impression sans fenêtre d'impression popup.
AttendStar a créé un add-on gratuit qui supprime la boîte de dialogue d'impression et supprime tous les en-têtes et pieds de page pour la plupart des versions de Firefox.
https://addons.mozilla.org/en-US/firefox/addon/attendprint /
Avec cette fonctionnalité, vous pouvez utiliser $('img').jqprint (); et jqprint pour jquery n'imprimera que l'image automatiquement appelée à partir de votre application web.
IE9 ne supporte plus le déclenchement de L'impression () VBScript en appelant window.print() comme IE7 et IE8 faire, et donc de la fenêtre.print () va maintenant toujours déclencher la boîte de dialogue print dans IE9.
la solution est assez simple. Vous avez juste besoin d'appeler Print() lui-même, au lieu de window.print() dans l'événement onclick.
j'ai décrit le correctif plus en détail dans une réponse à une autre question, avec un exemple de code de travail portant une syntaxe HTML légèrement mise à jour (comme autant que possible tout en étant testé comme code de travail).
vous pouvez trouver ce code échantillon ici:
Je ne crois pas que ce soit possible. La boîte de dialogue qui s'affiche permet à l'utilisateur de sélectionner l'imprimante à utiliser. Donc, disons qu'il serait possible pour votre application de simplement cliquer et imprimer, et un utilisateur clique sur votre bouton d'impression, mais a deux imprimantes connectés à l'ordinateur. Ou, plus probablement, cet utilisateur travaille dans un immeuble de bureaux avec 25 imprimantes. Sans cette boîte de dialogue, comment l'ordinateur sait à l'imprimante à imprimer?
this.print (false);
j'ai essayé cela dans Chrome, Firefox et IE. Il ne fonctionne que dans Firefox et IE, il utilise l'imprimante par défaut (avec les paramètres d'impression par défaut) et ne fonctionne que lorsque je rends un PDF (j'utilise Foxit Reader avec le Mode de lecture Sécurisé désactivé). Chrome affiche la boîte de dialogue Imprimer, ainsi que les autres navigateurs lorsque je rends une page HTML.
pour les navigateurs IE, la" solution VBScript " fonctionne.
mais comme mentionné par @purefusion à Bypass Printdialog in IE9 , utilisez Print() plutôt que window.print ()
cela devrait fonctionner, je l'ai essayé par moi-même et il a fonctionné pour moi. Si vous passez True au lieu de false, la boîte de dialogue d'impression apparaîtra.
this.print(false);