Dokument drucken mit PowerShell
Dokumente zu drucken ist in der heutigen Zeit ganz normal. Im Büro ist das das tägliche Doing. Manchmal ist es aber auch nützlich Dokumente automatisiert ausdrucken zu lassen. Hierzu ist PowerShell sehr nützlich. Um ein Dokument drucken zu können brauchen wir einen kleinen PowerShell Befehl. Dieser druckt das Dokument auf dem Standarddrucker aus. Ganz einfach und simpel.
tookapic / Pixabay
Dokument drucken mit PowerShell
Um automatisiert ein Dokument ausdrucken zu können mit PowerShell ist nur ein kleiner Befehl notwendig. Dieser druckt das angegebene Dokument auf dem Standarddrucker aus. Aber nicht nur Dokumente, sondern auch Bilder lassen sich aus dem Drucker zaubern.
Einzelnes Dokument
Ein einzelnes Dokument zu drucken ist sehr einfach. Wir brauchen einen PowerShell Ein-Zeiler. Anbei einige Beispiele:
TXT – Datei drucken:
Start-Process –FilePath "C:\Users\huberj\Desktop\test.txt" –Verb Print -PassThru
DOCX – Datei drucken:
Start-Process –FilePath "C:\Users\huberj\Desktop\test.docx" –Verb Print -PassThru
PDF – Datei drucken:
Start-Process –FilePath "C:\Users\huberj\Desktop\test.pdf" –Verb Print -PassThru
Mehrere Dokumente
Im Endeffekt funktioniert das bei mehreren Dokumenten genauso. Allerdings muss beachtet werden, dass sich mal ein Dokument nicht drucken lässt, oder ein Fehler auftritt. Somit erweitern wir den Befehl und sagen, dass er den Prozess nach 10 Sekunden beenden soll. Somit werden zumindest die restlichen Dokumente gedruckt. Anbei wieder Beispiele:
Start-Process –FilePath "C:\Users\huberj\Desktop\test.docx" –Verb Print -PassThru | %{sleep 10;$_} | kill Start-Process –FilePath "C:\Users\huberj\Desktop\test.pdf" –Verb Print -PassThru | %{sleep 10;$_} | kill
Natürlich kann das PowerShell Script erweitert werden, und als Aufgabenplanung alle paar Stunden ausgeführt werden. Somit kann man zum Beispiel automatisiert bestimmte Dokumente in einem bestimmten Ordner ausdrucken. 🙂
Achtung: Windows 10 verwaltet den Standarddrucker automatisch:
https://www.itnator.net/standarddrucker-von-windows-verwalten-lassen/
Hi,
erstmal vielen Dank für das Tutorial.
Die Anweisung scheint soweit auch für JPGs zu funktionieren nur leider öffnet sich der Drucker Dialog “Bilder Drucken” und fragt wie das Bild gedruckt werden soll. Die voreingestellten Einstellungen passen soweit alle und er zeigt auch die richtige Darstellung in der Vorschau, nur müsste diese Abfrage für meinen Anwendungsfall automatisch akzeptiert bzw übersprungen werden.
Start-Process -FilePath $NewestJPGLink -Verb Print -PassThru | %{sleep 5;$_} | kill
Zusätzlich gibt das System die Meldung
“Start-Process : Dieser Befehl kann nicht vollständig ausgeführt werden, da das System nicht alle erforderlichen Informationen finden kann.”
Leider bin ich nicht besonders bewandert im Programmieren und nutze es lediglich mit Copy & Paste Ansatz, daher würde ich mich freuen wenn Sie eine Lösung oder einen Lösungsansatz für mich hätten.
Danke & Gruß
S
Hallo Stephan,
Die Fehlermeldung könnte erscheinen, da er den nächsten Prozess starten will, obwohl der vorherige nicht nicht abgeschlossen ist.
Vielleicht stellst du dein sleep testweise auf 10 Sekunden statt auf 5.
Das mit dem Drucker-Dialog ist nochmal ein anderes Thema. Gute Frage. Darauf habe ich auf die Schnelle keine Lösung. Erscheint diese Meldung auch bei bsp. PDF Dateien?
Gruß Johannes
Hallo Johannes,
mit einer solch schnellen Rückmeldung hätte ich nicht gerechnet. Vielen Dank sconmal.
Wenn ich anstelle eines JPG ein PDF auswähle, gibt es keine Fehlermeldung mehr, Adobe wird kurz geöffnet und wieder geschlossen und der Druck wird auf dem Standarddrucker ausgeführt. Also so wie es sein soll 🙂
Kurz kam mir die Idee, die Dateien vorher in PDFs umzuwandeln aber das ist bei der Anwendung leider nicht möglich. Die Dateien kommen direkt von einer Kamera und sollen auf einem Photodrucker gedruckt werden.
Gruß & Danke
Stephan
Hallo
Vielen Dank für die Prog. Zeile funktioniert supa.
Leider kenn ich mich damit nicht so Gut aus und hätte mir auch unzählige Videos von Python bereits angesehen und schaffe es einfach nicht.
Ich möchte alle Dokumente die Auomatisiert in einen Ordner pdf´s landen automatisch Drucken ohne dateiangabe und dieser Befehl sollte immer wieder wiederholt werden. Können sie mir dabei bitte Helfen?
Vielen dank
Ich glaube das ist genau das, was du brauchst:
https://community.spiceworks.com/topic/2151581-automatically-print-pdf-in-network-share-using-powershell-command