wake-up-neo.com

Wählen Sie einen Drucker aus und drucken Sie stumm

Diese Antwort zeigt, wie Sie das unbeaufsichtigte Drucken in Google Chrome aktivieren. Ich habe jedoch zwei Webseiten, die ohne weitere Benutzerinteraktion mit zwei verschiedenen Druckern leise gedruckt werden müssen. Gibt es eine Möglichkeit, einen Drucker automatisch auszuwählen, bevor Sie window.print() aufrufen? Ich habe nichts dagegen, eine Chrome-Erweiterung zu schreiben, wenn es wirklich notwendig ist.

10
rightfold

Möglicherweise könnten Sie Ihre Drucker mit Google Clound Print einrichten und dann die Cloud-Druck-API verwenden, um im Hintergrund Aufträge an sie zu senden. Anscheinend können Sie die Drucker-ID beim Senden des Auftrags angeben. Möglicherweise müssen Sie etwas wie html2canvas verwenden, um die Webseite zu rastern.

23
Nathan Breit

Wenn Sie sich in einer Umgebung befinden, die Sie kennen, und in der Sie über ausreichende Berechtigungen verfügen (da Sie wissen, welchen Drucker Sie verwenden möchten), können Sie versuchen, dies über die Befehlszeile zu ändern. Dafür sollten Sie anrufen

@RunDLL32.EXE printui.dll,PrintUIEntry /y /n "Printer name"

Der Druckername muss der auf dem Bedienfeld angezeigte Wert sein.

Wenn Sie die Befehlszeile über Javascript aufrufen und die richtigen ActiveX-Steuerelemente aktiviert haben, können Sie Folgendes verwenden:

var run=new ActiveXObject('WSCRIPT.Shell').Run("commands to run");

sie können es auch mit Shell.application ShellExecute versuchen

 var objShell = new ActiveXObject("Shell.application");
objShell.ShellExecute("cmd.exe", 'RunDLL32.EXE printui.dll,PrintUIEntry /y /n "Printer name"', "C:\\WINDOWS\\system32", "open", 1);

Weitere Informationen erhalten Sie unter http://msdn.Microsoft.com/de-de/library/windows/desktop/gg537745(v=vs.85).aspx

Ich habe es nicht getestet, also viel Glück!

7
Carlos Robles

Am Ende habe ich einen Server in F # geschrieben und damit über ein WebSocket kommuniziert.

3
rightfold

Ich habe nach einer Antwort gesucht, aber es scheint keine Möglichkeit zu geben, einen Drucker programmatisch einzustellen. Daher meine wohl komplizierte Lösung:

Erstellen Sie eine Befehlszeilenanwendung, die den Standarddrucker des Betriebssystems wechseln kann. Möglicherweise eine Anwendung, die einen Drucker deaktivieren und aktivieren kann. Wenn Sie mit Windows arbeiten, könnte dies wahrscheinlich eine .NET-Anwendung sein. Unter Linux sollte es eine Befehlszeilenschnittstelle für die Druckerverwaltung geben (ich weiß es nicht genau).

Machen Sie nun beispielsweise eine PHP-, asp.net- oder Ruby-Seite, auf der das Drucker-Aktivierungs-/Deaktivierungsprogramm aufgerufen werden kann.

Wenn dies funktioniert, können Sie Javascript-Aufrufe verwenden, um zuerst an Drucker eins und nach dem Wechsel zu Drucker zwei zu drucken. Es gibt jedoch einige Nachteile:

  • Wenn Drucker 1 ein Dokument druckt, können Sie nicht zu Drucker 2 wechseln, da sonst Drucker 1 deaktiviert wird. Irgendwie sollte man sich mal überlegen, wie lange ein gemeinsamer Job dauert.
  • Diese Lösung hat viel Aufwand. Sie müssen zusätzliche Anrufe für den Wechsel zwischen Druckern tätigen
  • Die Wartbarkeit ist absolut nicht optimal, da Sie das Druckerwechselprogramm und den Webservice warten müssen.

Ich hoffe für Sie, dass jemand eine bessere Lösung findet, aber ich wollte meine Gedanken zumindest teilen. Vielleicht helfen sie Ihnen bei der Lösung Ihres Problems.

1
Bas van Dijk