pixel
Select Page

Druckauftrag an zwei Drucker senden

by | Dec 22, 2010 | Technology, Windows

Gelegentlich kommt es vor, dass man vor der Aufgabe steht mehrere Dokumente in doppelter Ausführung zu drucken und das am besten noch in einer farbigen und in einer monochromen Ausgabe. Oft bedeutet das viel manuelle Arbeit, da jeweils der Druckauftrag für die farbige Fassung und für die schwarz/weiße gestartet werden muss.
Hierfür gibt es jedoch Abhilfe und verschiedene Lösungsansätze. Wer schon nach Software gesucht hat, welche das Verteilen eines Druckauftrages an zwei Drucker realisieren kann, ist bestimmt auf das Programm PrintMulti gestoßen. PrintMulti ist ein sehr mächtiges Tool, man hat viele Einstellungsmöglichkeiten und ist für Clientbetriebssysteme kostenfrei erhältlich, jedoch ist der Konfigurationsaufwand nicht ohne. Deswegen möchte ich hier eine Alternative vorstellen welche aus einer Kombination von Foxit-PDF Reader, CutePDF und einem AutoIT 3 Skript besteht.
Grundlage dafür bot mir aus dem AutoIT Forum ein Beitrag mit Codebeispiel, der schon fast dem entsprach, was ich in die Tat umsetzen zu versuchte. Die Funktionsweise ist schnell und einfach erklärt.
Es wird das zu druckende Dokument als PDF mittels CutePDF (oder anderen PDF-Exporten) ausgegeben und an einen bestimmten Ort abgelegt. Das AutoIT Skript schaut nach, ob neue Dateien vorhanden sind, wenn ja werden diese in einen Archivorder verschoben und umbenannt (aktuelles Datum+Uhrzeit) und im Anschluss mit FoxitPDF der Druckauftrag für beide Drucker gestartet. Zwar ist dies nicht die eleganteste Lösung, jedoch funktioniert sie in der Praxis recht gut und hat einen geringeren Einrichtungsaufwand als PrintMulti. Im Anschluss noch der Quelltext des AutoIT Skripts:

$ordner = "C:\PDFs\"
$archiv = "C:\druck\"
$foxit = "C:\Programme\Foxit Software\Foxit Reader\Foxit Reader.exe"
$drucker1 = "Drucker 1"
$drucker2 = "Drucker 2"
While 1
  Sleep(1000)
  $file = FileFindFirstFile($ordner & "*.pdf")
  If $file <> -1 Then Print()
  FileClose($file)
WEnd
Func Print()
While 1
  $pdffile = FileFindNextFile($file)
  $neuname = @YEAR & @MON & @MDAY & @HOUR & @MIN & @SEC & @MSEC
  If @error Then ExitLoop
    FileMove($ordner & $pdffile, $archiv & $neuname & ".pdf")
    While 1
      Sleep(100)
      If FileExists($archiv & $neuname & ".pdf") Then
    ExitLoop
  EndIf
WEnd
RunWait('"' & $foxit & '" /t "' & $archiv & $neuname & '.pdf" $drucker1')
RunWait('"' & $foxit & '" /t "' & $archiv & $neuname & '.pdf" $drucker2')
WEnd
EndFunc ;==>Print

In den Variablen $drucker1 und $drucker2 kann man die Druckernamen, welche auf dem System vorhanden sind definieren. Natürlich kann man auch die Drucker selber umbenennen. Wichtig hierbei ist, dass die Drucker direkt von dem Client angesprochen werden und nicht über eine Samba Freigabe. Die Ordner „druck“ und „PDFs“ müssen manuell angelegt werden und natürlich schreibende sowie auch lesende Zugriffsrechte für die jeweiligen Nutzer haben.
(Picture by glasseyes view)
Edit TA (13.12.2017):
@Sascha hat in den Kommentaren das Skript hergenommen, aktualisiert und um eine Funktion erweitert: Fächerauswahl!
Unbedingter Lesebefehl!

More posts on the topicTechnology | Windows

Ein kurzer Abriss über Graylog Sidecar

Graylog Sidecar ist ein Konfigurationsmanagementsystem, ein sogenanntes Framework, für unterschiedliche Log Collectoren, auch Backends genannt. Die Graylog Nodes agieren hier als zentraler Hub und halten die Konfiguration der Log Collectoren. Auf unterstützten...

Icinga for Windows – Performance Boost mittels REST-Api

Seit dem ersten Release von Icinga for Windows hat sich eine Menge getan, um sowohl die Funktionalitäten, die Usability als auch die Sicherheit der Lösung zu erhöhen. Ein großer Fokus lag parallel jedoch auch immer auf der Performance, was sowohl auf den Aufbau des...

Graylog: Basics für eine Best Practice Installation

Graylog hat hier einiges an Best Practice definiert, die Euch dabei hilft, eine stabil und sicher laufende Installation aufzubauen. Ein Hauptaugenmerk liegt dabei auf der Anzahl der Nodes, die für eine produktiv eingesetzte Umgebung folgendermaßen aussieht: mehrere...

LUKS LVM Resizing

Ever tried to create a Dual Boot Ubuntu AFTER you encrypted your whole hard drive already? Well don’t worry we got you covered! My Problem: I want to shrink my encrypted Ubuntu installation to make room for another OS, which I need for my video editing. For that I...