Switch
Supporteintrag
- Version: alle
- Plattform: MacOS X
- Sprache: alle
- Kategorie: Tipps & Tricks
- Letzte Aktualisierung: 16.10.2007
Aufgabenstellung / Problembeschreibung:
Kann man Daten per Druckbefehl an einen SWITCH-Flow übergeben? Stichworte: Virtueller Drucker, Virtual Printer, PS-Dateien drucken
Lösung:
SWITCH selbst bietet keine direkte Unterstützung für die Übergabe von Druckdaten z.B. über einen Netzwerkdrucker. Sie können aber betriebssystemeigene Funktionen nutzen, um so eine Funktionalität in Zusammenarbeit mit SWITCH zu implementieren.
Nachfolgend finden Sie eine Anleitung, wie Sie unter Mac OS X (10.3 oder 10.4) einen oder mehrere virtuelle Drucker im Netzwerk anlegen können, an den Daten per Druckbefehl als PostScript-Dateien übergeben werden. Diese Dateien lassen sich dann mittels der Hotfolder-Funktion von SWITCH überwachen und die Daten automatisiert weiter verarbeiten.
Virtuellen Drucker installieren
Sie müssen unter Mac OS X zunächst einen virtuellen Drucker installieren. Die beiden Firmen www.kaiser-edv.de und www.werkflow.ch haben hier bereits Vorarbeit geleistet und für Mac OS X 10.3 und 10.4 einen fertigen Installer bereitgestellt, der Ihnen diese Aufgabe abnimmt. Sie finden den Installer sowie eine Anleitung, wie Sie vorzugehen haben unter folgender URL:
Virtual Printer Installation Mac OS X (10.3/10.4)
Individuelle Ausgabeordner definieren
Standardmäßig werden Druckdaten, die über den wie oben beschriebenen virtuellen Drucker gedruckt werden im Verzeichnis: Benutzer -> Für alle Benutzer -> PS-Files gespeichert. Damit Sie den neu eingerichteten virtuellen Druckeranschluß auch für mehrere Drucker mit jeweils separatem Unterverzeichnis nutzen können, müssen Sie zunächst die CUPS Schnittstelle etwas modifizieren:
- 1. Im Finder wählen Sie "Gehe Zu" -> "Gehe zum Ordner..." und geben die folgende Zeile ein:
/usr/libexec/cups/backend
2. In diesem Ordner befinden sich die Druckeranschlüsse. Dort finden Sie die Datei "postscriptfile". Öffnen Sie diese in einem Texteditor wie TextEdit oder BBEdit.
3. Fügen Sie den String: /${PDF_FOLDER} nach ${TARGET_DIR} im Bereich ProcesOutputFile wie nachstehend hinzu:
ProcessOutputFile ()
{
# we'll try to find an unique filename, also searching inside
# $out_path for PDFs with that name
SUFFIX=""
COUNTER=0
while true; do # we loop until we find a filename that doesn't already exist
SUFFIX_LENGTH=`echo $SUFFIX | wc -c`
MAX_LENGTH=`expr ${MAX_FILENAME_LENGTH} - 3 - ${SUFFIX_LENGTH}`
TARGET_FILE="${TARGET_DIR}/${PDF_FOLDER}"/`echo ${TITLE} | tr "[/][:]" "_" | cut -b-${MAX_LENGTH}`"${SUFFIX}".${EXT}
TARGET_PDF="${TARGET_DIR}/${PDF_FOLDER}"/`echo ${TITLE} | tr "[/][:]" "_" | cut -b-${MAX_LENGTH}`"${SUFFIX}".pdf
LogMessage "filename \"$TARGET_FILE\"\c"
if [ -f "${TARGET_FILE}" -o -f "${TARGET_PDF}" ] ; then # check whether target file exists
COUNTER=`expr $COUNTER + 1`
SUFFIX=".$COUNTER"
LogMessage " already exists. Skipping"
else
LogMessage " used."
SaveOutputFile # save the file, do accounting and eventually
# call postprocessing mechanisms
LogMessage "CUPS request finished at `date`"
break
fi
done
}
3. Speichern Sie die Datei und führen Sie anschließend einen Neustart Ihres Rechners durch (CUPS muss neu starten um die Änderungen zu übernehmen).
Anlegen virtueller Druckers über Drucker-Dienstprogramm
- 1. Starten Sie das Drucker-Dienstprogramm und wählen Sie "Hinzufügen"
2. Halten Sie die alt-Taste gedrückt und wählen Sie "Weitere Drucker" aus.
3. Wählen Sie im obersten PopUp-Menü "Weitere Optionen" aus (nur verfügbar, wenn Sie zuvor die alt-Taste gedrückt gehalten haben!)

4. Wählen Sie bei "Gerät: Print to Standardfolder" aus
5. Bei "Gerätename:" geben Sie den Namen des Druckers so ein, wie er nachher sichtbar sein soll. Vermeiden Sie dabei Sonderzeichen.
6. Unter "Geräte-URl:" steht bereits folgende Zeile:
postscriptfile://.?out=.
Ändern Sie den . (Punkt) in den gewünschten Ordnernamen ab, der innerhalb des Benutzer/Für alle Benutzer/PS-Files/ Ordners als Ausgabeordner benutzt werden soll, also z.B.
postscriptfile://.?out=Web_PDFs
Vermeiden Sie auch hier Sonderzeichen!
7. Als "Druckermodell:" wählen Sie VirtualPrinter aus.
8. Legen Sie nun noch im Ordner PS-Files (Benutzer/Für alle Benutzer/PS-Files) den gleichnamigen Ordner an, wie sie ihn unter Geräte-URl angegeben haben. In unserem Beispiel wäre dies der Ordner: Web_PDFs
Für weitere Drucker wiederholen Sie die oben genannten Schritte 1-8 und geben jeweils einen anderen Unterordner im PS-Files Ordner an. Sollten Sie einen fehler machen, so lässt sich der eingerichtete Drucker nur löschen und neu anlegen.
Freigabe des Druckers im Netzwerk
Damit Sie die so eingerichteten virtuellen Drucker auch von anderen Arbeitsstationen im Netzwerk nutzen können, müssen Sie diese noch freigeben. Dies erledigen Sie über die Systemeinstellungen bei "Drucken & Faxen" unter "Sharing". Wählen Sie dort einfcah die freizugebenden Drucker an. Nachfolgend sind 2 Drucker (Print to Print_PDFs und Print zu Web_PDFs) freigegeben:
Übergabe der PostScript-Druckdateien an SWITCH
Über die wie oben beschriebenen virtuellen Drucker werden die PostScript-Dateien nun in separaten Unterverzeichnissen im PS-Files Ordner abgelegt. Diese Ordner können Sie nun in SWITCH als Eingangsordner für die weitere Verarbeitung auswählen.
Ein Praxisbeispeil wäre hier die Übergabe an den Adobe Acrobat Distiller, den Jaws PDF Creator oder eine andere PostScript-verarbeitende Applikation.
Damit SWITCH weiss, über welchen Drucker die Originaldatei eingegangen ist, können Sie für die Übernahme der PS-Dateien mit dem "Submit Hierarchy" Werkzeug arbeiten. Hier kann man sich den Namen des Ausgabeordners (mit Attach hierarchy information) merken, worin die Datei eingegangen ist. Auf diese Information kann am Schluß des Flows mit dem "Archive Hierarchy" Werkzeug wieder zugegriffen werden, um Dateien in entsprechende Unterverzeichnisse abzusortieren.