DukNukem
Lt. Commander
- Registriert
- Feb. 2009
- Beiträge
- 1.033
Guten Tag,
ich muss mich heute auch einmal mit einem geschäftlichen Problem / Weiterbildungsfrage an euch wenden.
Die Aufgabe ist es Postscript Dateien in PDF Dateien umzuwandeln.
Früher wurde das mit dem Adobe Distiller durchgeführt. Danach wurde von Adobe auf den Foxit Phantom umgestellt, der die Funktion nicht bietet.
Als ersatz wurde uns dafür dann Ghostscript zur Verfügung gestellt.
Unser IT Manager hat uns dafür dann auch eine "GUI" drum herum gebastelt. Das funktioniert, ist aber nicht als "Schick" zu bezeichnen. Anpassungen sind zwar von ihm machbar, aber insgesamt ist es schwierig. Lassen wir es mal dabei.
Als kleine Aufgabe / Weiterbildung habe ich mir unter Windows 7 ein VBS Script geschrieben, dass mir mit Ghostscript die PDFs erzeugt hat.
Die Adressen der PS Datien habe ich über "Send To" an das Script geschickt. Dann entsprechend die Args ausgewertet und jedesmal gswin mit der "Latte" an Argumenten ausgeführt.
Das hat gut funktioniert, da die PDFs im Ordner der PS Dateien abgelegt wurden.
Durch die Umstellung auf Windows 10 kann ich das VBS Skript nicht mehr verwenden.
Mein Plan war es das Skript mit Powershell neu zu erstellen.
Das konnte ich bis auf einen Fall lauffähig bekommen.
Mein Problem ist nun, wenn ich dem Skript via "Send To" eine Datei übergebe, die Leerzeichen im Pfad hat, dann wird am leerzeichen Getrennt und somit erhalte ich für Args mehrere Einträge und keine Korrekte Adresse.
Mit VBS konnte ich das Problem noch einmal nachstellen und dort wird am leerzeichen nicht getrennt.
Meine Frage an euch ist jetzt, habt ihr für das Leerzeichen + Args Problem bei Powershell eine Lösung, die ich noch nicht finden konnte?
Alternativ:
Habe ich eine Falsche herangehensweise?
Was wäre euer Vorschlag um das Problem anzugehen?
Muss ich da doch auf eine höhere Programmiersprache wechseln oder gibt es noch ein Bordmittel, das ich ausprobieren kann?
Das am Schluss ausgeführte Kommando sieht so aus:
Vielen Dank für die Hilfe und "Weiterbildungsansätze".
Gruß
DukNukem
ich muss mich heute auch einmal mit einem geschäftlichen Problem / Weiterbildungsfrage an euch wenden.
Die Aufgabe ist es Postscript Dateien in PDF Dateien umzuwandeln.
Früher wurde das mit dem Adobe Distiller durchgeführt. Danach wurde von Adobe auf den Foxit Phantom umgestellt, der die Funktion nicht bietet.
Als ersatz wurde uns dafür dann Ghostscript zur Verfügung gestellt.
Unser IT Manager hat uns dafür dann auch eine "GUI" drum herum gebastelt. Das funktioniert, ist aber nicht als "Schick" zu bezeichnen. Anpassungen sind zwar von ihm machbar, aber insgesamt ist es schwierig. Lassen wir es mal dabei.
Als kleine Aufgabe / Weiterbildung habe ich mir unter Windows 7 ein VBS Script geschrieben, dass mir mit Ghostscript die PDFs erzeugt hat.
Die Adressen der PS Datien habe ich über "Send To" an das Script geschickt. Dann entsprechend die Args ausgewertet und jedesmal gswin mit der "Latte" an Argumenten ausgeführt.
Das hat gut funktioniert, da die PDFs im Ordner der PS Dateien abgelegt wurden.
Durch die Umstellung auf Windows 10 kann ich das VBS Skript nicht mehr verwenden.
Mein Plan war es das Skript mit Powershell neu zu erstellen.
Das konnte ich bis auf einen Fall lauffähig bekommen.
Mein Problem ist nun, wenn ich dem Skript via "Send To" eine Datei übergebe, die Leerzeichen im Pfad hat, dann wird am leerzeichen Getrennt und somit erhalte ich für Args mehrere Einträge und keine Korrekte Adresse.
Mit VBS konnte ich das Problem noch einmal nachstellen und dort wird am leerzeichen nicht getrennt.
Meine Frage an euch ist jetzt, habt ihr für das Leerzeichen + Args Problem bei Powershell eine Lösung, die ich noch nicht finden konnte?
Alternativ:
Habe ich eine Falsche herangehensweise?
Was wäre euer Vorschlag um das Problem anzugehen?
Muss ich da doch auf eine höhere Programmiersprache wechseln oder gibt es noch ein Bordmittel, das ich ausprobieren kann?
Das am Schluss ausgeführte Kommando sieht so aus:
Code:
D:\Ghostscript\gswin64.exe -dBATCH -dNOPAUSE -dNOOUTERSAVE -sDEVICE=pdfwrite -sPAPERSIZE=a4 -sOutputFile="D:\Test\Dokument.pdf" "D:\Test\Dokument.ps"
Vielen Dank für die Hilfe und "Weiterbildungsansätze".
Gruß
DukNukem