PDF Dateien von der Kommandozeile oder aus Skripten drucken

Heute war ich lange auf der Suche nach einer Lösung mit der ich unter Windows direkt von der Kommandozeile (Eingabeaufforderung) und aus Skripten heraus PDF-Dateien drucken kann.

Die Anforderung war, dass es möglich sein soll komplett ohne einen Druckerdialog auf einen bestimmten Drucker zu drucken oder den Standarddrucker zu verwenden.

Unter Windows ist die Auswahl eher begrenzt. Es gibt ein paar Lösungen wie zum Beispiel GSPRINT, aber die macht es erforderlich Ghostscript und Ghostview zu installieren.

Es gibt ein paar Kommerzielle Tools, die aber relativ teuer sind. Auf diese gehe ich hier nicht weiter ein.

Letztendlich habe ich eine Lösung gefunden mit der ich der zufrieden bin. Sumatra PDF ist ein freier und schneller PDF-Betrachter, der auch als Portable Version erhältlich ist. Damit ist es möglich PDF-Dateien direkt und ohne Umweg auf jedem installierten Drucker direkt auszugeben.

Benötigt wird nur die Datei SumatraPDF.exe und ein paar Kommandozeilenparameter.

Mit diesem Befehl wird die PDF-Datei auf dem angegebenen Drucker gedruckt:

1
SumatraPDF.exe -silent -exit-on-print -print-to {DRUCKERNAME} {DATEINAME}

Mit diesem Befehl wird die PDF-Datei auf dem Standarddrucker gedruckt:

1
SumatraPDF.exe -silent -exit-on-print -print-to-default {DATEINAME}

Mit diesem Befehl wird zuerst der Druckerauswahldialog angezeigt und die PDF-Datei dann auf dem ausgewählten Drucker gedruckt:

1
SumatraPDF.exe -silent -exit-on-print -print-dialog {DATEINAME}

Über die Abfrage des Errorlevels bekommt man auch noch heraus ob die Datei tatsächlich gedruckt werden konnte und kann mit dem Ergebnis dann in seinen Skripten weiterarbeiten.

Großartig!