it-swarm.com.de

Drucken Sie direkt vom Browser aus, ohne ein Popup-Fenster zu drucken

Wie in dem Betreff erwähnt, muss ich eine Funktion für eine webbasierte Anwendung erstellen, mit der Benutzer den Druck direkt senden können, ohne dass ein Dialogfeld angezeigt wird. aber nicht für mich :(. 

Bitte schlagen Sie vor, was die beste Option wäre und wie ich sie aufschreiben sollte (Technologie).

Bitte vorschlagen!

Vielen Dank.

EDIT: Der Ausdruck sollte auf dem Standarddrucker des Benutzers gesendet werden.

21
Ramiz Uddin

Ich konnte keine Lösung für andere .__ finden. Browser. Als ich diese Frage veröffentlichte, befand sich IE in der höhere Priorität und gerne fand ich einer dafür. Wenn Sie eine Lösung haben für andere Browser (Firefox, Safari, Oper) bitte hier teilen . Vielen Dank.

VBSCRIPT ist viel bequemer als das Erstellen eines ActiveX auf VB6 oder 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>

Jetzt anrufen:

<a href="javascript:window.print();">Print</a>

wird den Druck ohne Popup-Fenster senden.

15
Ramiz Uddin

IE9 unterstützt das Auslösen des Print () - VBScript nicht mehr durch Aufrufen von window.print () wie IE7 und IE8. Daher löst window.print () jetzt immer den Druckdialog in IE9 aus.

Das Update ist ziemlich einfach. Sie müssen nur print () selbst aufrufen, anstatt window.print () im onclick -Ereignis. 

Ich habe den Fix ausführlicher in einer Antwort auf eine andere Frage beschrieben. Ein Beispiel für einen funktionierenden Code enthält eine leicht aktualisierte HTML-Syntax (so viel wie möglich, während er noch als funktionierender Code getestet wurde).

Sie finden diesen Beispielcode hier:

Bypass Printdialog in IE9

3
purefusion

AttendStar hat ein kostenloses Add-On erstellt, das das Druckdialogfeld unterdrückt und alle Kopf- und Fußzeilen für die meisten Firefox-Versionen entfernt.

https://addons.mozilla.org/en-US/firefox/addon/attendprint/

Mit dieser Funktion können Sie $ ('img') verwenden. Jqprint (); und jqprint for jquery druckt nur das Bild, das automatisch von Ihrer Webanwendung aufgerufen wird.

3
Jon

Ich glaube nicht, dass das möglich ist. In dem angezeigten Dialogfeld kann der Benutzer einen Drucker auswählen, auf dem gedruckt werden soll. Nehmen wir an, es wäre möglich, dass Ihre Anwendung nur klicken und drucken kann, und ein Benutzer klickt auf die Schaltfläche "Drucken". Es sind jedoch zwei Drucker an den Computer angeschlossen. Wahrscheinlicher ist, dass der Benutzer in einem Bürogebäude mit 25 Druckern arbeitet. Wie würde der Computer ohne dieses Dialogfeld wissen, an welchen Drucker gedruckt werden soll?

1
Zachary Murray

Für IE - Browser funktioniert die "VBScript-Lösung".

Aber wie von @purefusion unter Bypass Printdialog in IE9 erwähnt, verwenden Sie Print () anstelle von window.print ()

0
pprain

this.print (false);

Ich habe dies in Chrome, Firefox und IE versucht. Es funktioniert nur in Firefox und IE, es verwendet den Standarddrucker (mit Standarddruckeinstellungen) und funktioniert nur, wenn ein PDF gerendert wird (ich verwende Foxit Reader mit deaktiviertem Safe Reading-Modus). Chrome zeigt den Druckdialog sowie die anderen Browser, wenn ich eine HTML-Seite rendere.

0
DannyC