HELIOS Tool Server erlaubt die Integration von Anwendungen und sogenannten Tools, die auf einem dedizierten Computer laufen, in den Workflow des HELIOS Servers. Bestimmte Anwendungen und Technologien sind nur für spezielle Plattformen verfügbar. Anstatt diese Anwendungen und Technologien für andere Plattformen neu zu entwickeln, bindet Tool Server sie auf allen gängigen Plattformen ein. Tool Server bildet die Basis und enthält bereits mehrere nützliche Werkzeuge (Tools) – der Benutzer kann weitere hinzufügen. Die von HELIOS bereitgestellten Tools und Beispieldateien lassen sich innerhalb kürzester Zeit installieren.
Mit HELIOS Tool Server lassen sich Anwendungen auf Remote-Clients einfach nutzen. Deshalb kann HELIOS Tool Server auf jeder gängigen Serverplattform lizenzfrei installiert werden. Die Anwendung „toolclient“ erkennt über mDNS („Bonjour“) automatisch alle Server und wählt unter diesen den Server aus, der den benötigten Dienst anbietet und über die beste Computerleistung verfügt. Durch die automatisierte Lastverteilung, Dateiübertragung, Verarbeitung sowie Prüf- und Fehlerhandhabung lässt sich Tool Server sehr einfach nutzen.
Jeder Auftrag besteht im Prinzip aus dem Datentyp des Auftrags sowie der Eingangsdatei mit den Auftragsoptionen. Beide werden an den Server übermittelt, der diese Informationen an ein Programm, das diese Daten verarbeiten kann, weiterleitet. Dieses Programm verarbeitet den Auftrag und erzeugt eine Ausgabe- sowie eine Logdatei. Der Server überwacht die Programme bei der Verarbeitung der Aufträge und sendet die Ausgabedatei mitsamt der Logdatei zurück zum Client (Abb. 1.1).
Informationen über Neuerungen in Tool Server finden Sie unter:
www.helios.de
(HELIOS Produktversionen – Neue Funktionen)
Informationen zu HELIOS Base, der innovativen Grundlage aller HELIOS Produkte,
finden Sie unter:
www.helios.de (Produkte > Base)
Schritt 1:
Installieren Sie mit Hilfe des HELIOS Installers für Mac oder Windows, den Sie auf der HELIOS CD (oder dem Testdrive) finden, das Produkt Tool Server auf jedem Mac- oder Windows-Rechner, den Sie als Tool Server verwenden möchten (Hinweise zur Installation finden Sie im HELIOS Base Benutzerhandbuch).
Auf diesen Rechnern sollten nur die Produkte „Base“ und „Tool Server“ installiert werden, es sei denn andere HELIOS Produkte sind für dieses System lizensiert.
Bei der Installation werden einige Werkzeuge für Tool Server mit installiert. Im Kapitel 1.6 „Die Tools“ werden diese Tools und ihre Anwendung beschrieben.
Schritt 2:
Um die von HELIOS bereit gestellten Werkzeuge nutzen zu können, müssen diese zuerst in den Ordner „Tool Server“ kopiert werden.
Sie müssen dafür mit administrativen Rechten am Server angemeldet sein.
Mounten Sie das Volume “Settings” und wechseln Sie in den Ordner „Tool Server/Samples“. Kopieren Sie dann die Skripte, die Sie aktivieren möchten, in den übergeordneten Ordner „Tool Server“.
Navigieren Sie im Terminalfenster in das Verzeichnis „HELIOSDIR/var/settings/Tool Server/Samples“ und kopieren Sie die Skripte, die Sie aktivieren möchten, in das übergeordnete Verzeichnis (mittels HELIOS „dt cp“).
Schritt 3:
Speichern Sie Ihre eigenen Tools im Ordner „settings/Tool Server“.
Für die folgenden Schritte müsse Sie als „root“ am Server angemeldet sein (gilt nicht für Windows).
Schritt 4:
Überprüfen Sie in einem Terminalfenster, ob „toolsrv“ läuft:
# cd /usr/local/helios # bin/srvutil status Service Status PID When Restarts srvsrv Running 1535 Mon 11:21 notifysrv Running 1537 Mon 11:21 authsrv Running 1538 Mon 11:21 desksrv Running 1539 Mon 11:21 dhcpsrv Running 1540 Mon 11:21 heladmsrv Running 1543 Mon 11:21 lpd Running 1544 Mon 11:21 mdnsproxysrv Running 1541 Mon 11:21 toolsrv Running 1545 Mon 11:21
Schritt 5:
Informieren Sie in einem Terminalfenster den „toolsrv“-Prozess über den geänderten Skriptbestand:
# cd /usr/local/helios # bin/srvutil reconf toolsrv
Schritt 6:
Geben Sie in einem Terminalfenster den Befehl toolclient -l
ein, um die Verfügbarkeit von Tools zu überprüfen:
# bin/toolclient -l Server Info for ankh.local.: currentConnections: 1 currentToolJobs: 0 cpuMegaFlops: 138.94 cpuMegaInts: 524.25 cpuCount: 1 Type: action-psd License: - Type: html2pdf License: ImageServer Type: pdf2bmp License: ImageServer Type: pdfflatten License: ImageServer Type: sharpen-psd License: - Server Info for blade.local.: currentConnections: 1 currentToolJobs: 0 cpuMegaFlops: 635.93 cpuMegaInts: 1048.49 cpuCount: 2 Type: action-psd License: - Type: html2pdf License: ImageServer Type: pdf2bmp License: ImageServer Type: pdfflatten License: ImageServer Type: sharpen-psd License: -
toolclient -t <jobtype> [-i <infile>] [-o <outfile>] [-O <propfile>] [-s <server>] [-p <port>] [-T <timeout>] [-B <rwsize>] [-S] [-v] [-V] [-l] [-L] [-X <key>=<value>] -h
Das Programm „bin/toolclient“ wird als Bestandteil von HELIOS Base installiert und steht daher auf jeder von HELIOS unterstützten Plattform zur Verfügung. „toolclient“ benötigt eine gültige ImageServer-Lizenz. Der Tool Client findet den Tool Server entweder über mDNS („Bonjour“) oder über eine angegebene TCP/IP-Adresse. Er kann in jede Beliebige Anwendung integriert werden, in dem „toolclient“ als externes Programm aufgerufen wird. HELIOS stellt Skripte für die integrierten Script-Server-Tools zur Verfügung, wodurch eine „Hot Folder“ basierte Auftragsverarbeitung möglich wird (siehe HELIOS ImageServer Handbuch). Die Eingangs- und Ausgabedaten eines Auftrags sind, wenn nicht über Parameter anders definiert, mit stdin bzw. stdout gekoppelt. Fehlermeldungen werden an stderr ausgegeben, wobei der Ausgabecode den Erfolgs- oder Fehlerstatus angibt. Die Ausgabe kann als Binärdatei erfolgen. RGBA-Rohbilddaten werden automatisch in PNG-Dateien gewandelt.
Folgende Optionen stehen zur Verfügung:
Tooltyp. Mit toolclient -l
lassen sich alle verfügbaren Tooltypen auflisten (siehe 1.4.1 „Verfügbare Tools (Skripte)“).
Eingangsdatei <infile>
statt „stdin“ verwenden.
Ergebnis nach <outfile>
statt nach „stdout“ schreiben.
Eigenschaften der Ausgabedatei nach
<propfile>
schreiben. Eigenschaften sind optionale Key-/Wert-Paare
des Tools.
TCP/IP-Hostname des Tool Servers. Ist diese
Option nicht gesetzt, verwendet „toolclient“ mDNS zum Auffinden von Tool
Server. Sie können die Option -s
mehrfach verwenden, um eine
Liste möglicher Tool Server zu erstellen.
Portnummer des Tool Servers; wird nur mit
-s <server>
verwendet.
Time-out des „toolsrv“-Tools in Sekunden
(Vorgabe = 180
).
Größe der Lese-/Schreibblöcke in Byte
(Vorgabe = 32768
).
Ausgabe des Tools unterdrücken; es wird keine Ausgabedatei geschrieben.
Erweiterte Ausgabe der Tools.
Erweiterte Ausgabe des Netzwerks: mDNS-Lookups, Verbindungen usw. anzeigen
Remote-Tools, Lizenz- und CPU-Informationen auflisten.
Testmodus, Aufrufe pro Sekunde testen, z. B.: -v -L 20000
.
Spezifische Optionen für Tools. Für verfügbare Optionen lesen Sie bitte die Dokumentation der Tools (1.6.1 „Die verschiedenen Tools“).
Hilfedatei anzeigen.
toolclient -t pdf2bmp -s ankh.helios.de -i 1.pdf -o 1.png
Dieser Aufruf schickt die Datei „1.pdf“ zum Server „ankh.helios.de“ und erwartet ein Rasterbild im PNG-Format mit dem Namen „1.png“ zurück.
Folgende Tools werden mitgeliefert:
HTML-Seite in ein PDF-Dokument wandeln.
Konfigurationsdatei: html2pdf.conf
Transparenzreduktion in einem PDF-Dokument.
Konfigurationsdatei: pdfflatten.conf
RAW-Dokument in eine TIFF-Datei wandeln.
Konfigurationsdatei: raw2tiff.conf
PDF-Dokument in eine Raster-PNG-Datei wandeln.
Konfigurationsdatei: pdf2bmp.conf
Bildern mit Photoshop mehr Schärfe geben.
Konfigurationsdatei: sharpen-psd.conf
Bildbearbeitung mit Hilfe eines
Photoshop-Makros.
Konfigurationsdatei: action-psd.conf
Weitere Tools können wie in Abschnitt 1.7 „Eigene Tools entwickeln“ beschrieben hinzugefügt werden.
Der Tool Server („toolsrv“) lässt sich in einer separaten Installation auf mehreren Arbeitsplatzrechnern oder Servern installieren. Er registriert die Server über mDNS, prüft, welche Tools in „HELIOSDIR/var/settings/Tool Server“ zur Verfügung stehen, misst die Leistung des Rechners und stellt dem Tool Client all diese Informationen auf Anfrage zur Verfügung. Wenn ein Auftrag hereinkommt, erstellt der Server in „var/tmp/“ ein eindeutiges Verzeichnis, speichert die Eingangsdatei und erzeugt für das angegebene Tool einen separaten Prozess. Der Server überwacht seine Tools, die stderr-Ausgabe des Tools wird protokolliert und im Falle eines Time-outs beendet der Server das Tool und löscht die temporären Dateien. Nachdem das Tool den Auftrag erledigt hat, werden Ausgabe- und Logdatei übergeben. Der Tool Server ist grundsätzlich „blind“ gegenüber dem Inhalt eines Auftrags, weiß nichts von den Dateiformaten und angegebenen Parametern. Der Tool Client kommuniziert mit dem Tool Server über TCP/IP.
Obwohl die Anzahl gleichzeitiger Aufträge in Tool Server nicht direkt begrenzt ist, reiht der optionale Script Server Hot Folder die Aufträge für einen bestimmten Hot Folder automatisch in eine Warteschlange ein, was die Anzahl gleichzeitiger Aufträge praktisch doch begrenzt. Der Tool Client leitet die erforderliche Produkt-Lizenzinformation (der Maschine, auf welcher der Tool Client läuft) an den Tool Server weiter, der diese Informationen wiederum über Umgebungsvariablen an die Tools weiterleitet. Der Tool Server selbst überprüft keine Lizenzen. Es sollte nicht erforderlich sein, die Präferenzen des Tool Servers zu ändern. „toolclient“ und „toolsrv“ wurden dahingehend entwickelt, dass sie komplexe Netzwerktechnik und die Verteilung von Aufträgen vom Anwender fernhalten. Sie bieten solide Remote-Automatisierung bei geringem Konfigurationsbedarf.
Große oder komplexe Aufträge können die Maschine, auf der „toolsrv“ läuft, merklich verlangsamen.
Konfigurationsdateien können das auszuführende Tool (Tool
),
die dafür erforderliche HELIOS Lizenz (License
) sowie den
Benutzer, unter dem das Tool ausgeführt werden soll, enthalten (RunAsUser
).
Zusätzlich lässt sich das Flag Exclusive
, z. B.: Exclusive=Photoshop
,
setzen, um zu verhindern, dass mehrere Tool-Server-Skripte gleichzeitig
auf dieselbe Anwendung zugreifen.
Die Datei „conf“ muss mir einer Leerzeile enden. Andernfalls wird die letzte Zeile nicht gelesen!
Konfigurationsdatei „html2pdf.conf“:
# osxhtmlrender config file Tool=osxhtmlrender License=ImageServer RunAsUser=mike
Auf Windows Plattformen muss für den Eintrag RunAsUser
das
Benutzerkennwort mit dem HELIOS Programm „authutil“ erneut gesetzt werden,
z. B.:
authutil passwd -n mike -p secret
In diesem Abschnitt werden sämtliche Präferenzen, die zu Tool Server gehören, aufgeführt. Eine Beschreibung darüber, wie Präferenzen mit Hilfe der HELIOS Dienstprogramme „prefdump“, „prefvalue“ und „prefrestore“ gesetzt, gesichtet, geändert oder entfernt werden, finden Sie in Kapitel „HELIOS Dienstprogramme“ des HELIOS Base Handbuchs.
Beachten Sie bitte, dass die Präferenzkeys NICHT mit einem Schrägstrich („/“) beginnen oder enden dürfen und dass zwischen Groß- und Kleinschreibung unterschieden wird! Sie müssen ebenfalls darauf achten, dass die Keys in Hochkommas gesetzt werden müssen, sollten sie Leerzeichen enthalten.
Key: Programs/toolsrv/<preference>
Definiert den Namen der IP-Zugriffsliste, die es Clients, deren IP-Adresse auf dieser Liste eingetragen sind, erlaubt auf den den Tool Server zuzugreifen.
Erlaubt die Anzahl der CPUs auf die mit dieser Präferenz gesetzten Anzahl zu begrenzen. Es werden nur Werte, die unter der Gesamtanzahl aller CPUs liegt, unterstützt. Ist diese Präferenz nicht gesetzt, wird die Anzahl der Prozessorkerne verwendet.
TCP/IP-Port für die Kommunikation zwischen Client und Server.
Legt den Ort fest, an dem der Tool Server sein temporäres Arbeitsverzeichnis anlegt. Das temporäre Arbeitsverzeichnis wird gelöscht, sobald das Tool den Auftrag erledigt hat.
Die Tools verarbeiten eine Eingangsdatei für einen bestimmten Datentyp. HELIOS liefert mehrere Tools für bestimmte Dateitypen mit aus. Die Tools kümmern sich ausschließlich um den Auftrag, z. B. die Eingangsdatei mit den Parametern zu übernehmen, verarbeiten und eine Ausgangsdatei mit Logdatei an stderr schreiben. Der Vorteil dabei ist, dass Sie sich um die Kommunikation zwischen Client und Server, die Lastverteilung und die Unterstützung verschiedener Plattformen keine Gedanken machen müssen.
So kann beispielsweise ein Tool auf einer Windows-Maschine installiert sein
und der Tool Client unter Linux laufen. HELIOS Tool Server bietet die
Infrastruktur zur Integration von Remote-Anwendungen. Das Tool selbst
kann sehr einfach aufgebaut sein, z. B. ein paar Skriptzeilen (Perl,
AppleScript, Visual Basic oder jedes andere ausführbare Programm).
Das Tool gibt beim beenden eine Null zurück, wenn die Auftragsverarbeitung
erfolgreich war oder einen Fehlercode inkl. einer Meldung auf stderr
im Falle eines Fehlers. Es empfängt sämtliche benötigten Parameter vom Tool Client
(-X variable=value
).
Falls es eine Lizenz benötigt, muss es die Verfügbarkeit einer solchen
überprüfen. Da es auf einer Remote-Arbeitsstation laufen kann, macht der
Tool Client dem Tool mittels Umgebungsvariablen die Lizenzinformation über
den Tool Server verfügbar. Der Tool Server überwacht jedes Tool. Im Falle
eines Time-outs kann das Tool über ein Abbruchsignal beendet werden.
Wenn das Tool nicht spätestens 2 Sekunden nach Erhalt des Signals beendet,
wird der Prozess gestoppt.
Nachdem der Auftrag erledigt ist, entfernt der Tool Server sämtliche temporären Dateien im Auftragsverzeichnis, sowie das Verzeichnis selbst. Standardmäßig werden alle Tools als Service-Benutzer des Systems ausgeführt. Es kann aber auch erforderlich werden, dass ein Tool unter einem bestimmten Benutzer ausgeführt wird, um die Einstellungen bzw. den Kontext dieses Benutzers verwenden zu können. Der Benutzername kann in der Konfigurationsdatei des Tools „<toolname>.conf“ angegeben werden. Weitere Einzelheiten dazu finden Sie im Abschnitt 1.5.1 „Konfigurationsdateien“. Eigene Konfigurationsdateien für Tools werden in „HELIOSDIR/var/settings/Tool Server/“ gespeichert.
Tools können auch Stand-alone, zu Testzwecken, verwendet werden1. Wir raten jedoch dazu, diese ansonsten mit dem HELIOS Tool Client zu verwenden, da diese dann auch remote und unabhängig von einer bestimmten Plattform genutzt werden können. Darüber hinaus bleibt der Tool Client frei von Arbeitslast. Die Tools liegen in „HELIOSDIR/etc/tools“.
Plattf. | Funktion | |
---|---|---|
osxhtmlrender | Mac | HTML-Seite in ein PDF-Dokument wandeln (mit Apple WebKit) |
osxpdfrender | Mac | RGB-Rastervorschau von einem PDF erzeugen (mit OS-X-Rendering) |
osxpdfflatten | Mac | Transparenzen in PDF-Dokumenten reduzieren (durch Automatisierung von Adobe Acrobat) |
winpdfflatten | Win | Transparenzen in PDF-Dokumenten reduzieren (durch Automatisierung von Adobe Acrobat) |
osxraw2tiff | Mac | RAW-Dokumente in TIFF-Dateien umwandeln (mit Apple Bildtechnologie) |
OfficeReader | Win | Vorschau von Office-Dokumenten erzeugen |
Mac | Vorschau von Office-Dokumenten erzeugen | |
osxapplescript | Mac | Ein bestimmtes AppleScript starten |
Auf OS X basierende Tools arbeiten in der Umgebung des angemeldeten Benutzers. Wenn unter OS X ein „RunAs“-Benutzername für ein Tool angegeben wird, laufen die Tools innerhalb der normalen Benutzersitzung. Das ermöglicht Anmeldungen mit mehreren Benutzernamen, sodass jede Tool-Automatisierung unter unter dem angegebenen Benutzer ausgeführt werden kann, z. B. „PDF Flatten“ unter Benutzer1, „Photoshop Action“ unter Benutzer2 usw. Damit auch eine Automatisierung von OS X GUI-Anwendungen möglich ist, z. B. in Acrobat und Photoshop, muss der Benutzer angemeldet sein, andernfalls würde die lokale Anwendung nicht starten.
Bei Verwendung mit „toolclient“ verwenden Sie als Typ html2pdf
Dieses Tool nutzt die Apple-Technologie „WebKit“, um HTML-Dokumente in PDF-Dateien umzuwandeln. Dabei handelt es sich um eine ziemlich komplexe Aufgabe, da HTML-Seiten CSS-Stylesheets, JavaScript sowie andere moderne HTML-Inhalte beinhalten können. „osxhtmlrender“ liefert ähnliche Resultate wie das Drucken von HTML nach PDF in Safari. Das Tool erlaubt die optionale Angabe von Seitengrößen, Rändern und der Ausrichtung. Es gibt viele Web-Anwendungen zum Erzeugen ansprechender HTML-Listen, -Berichte oder -Dokumente. Mit „osxhtmlrender“ lassen sich daraus hochwertige PDF-Dokumente zu erzeugen. HELIOS bietet weitere PDF-Tools zum Verschlüsseln dieser Dokumente.
osxhtmlrender[-C <dir>] [-i <infile>] [-o <outfile>] [-O <propfile>] [-X <key>=<value>]... [-h]
Folgende Optionen stehen zur Verfügung:
Arbeitsverzeichnis, in dem die zu verarbeitenden Dateien liegen und die Logdatei gespeichert wird, setzen.
Eingangsdaten <infile>
statt „job.in“ verwenden.
Ausgabe nach <outfile>
statt nach „job.out“ schreiben.
Eigenschaften der Ausgabedatei nach
<propfile>
statt nach „job.outprops“ schreiben.
Spezifische Optionen des Tools (Papiergröße und Ränder werden in Punkt angegeben):
z. B.: -X LeftMargin=10.0
z. B.: -X RightMargin=10.0
z. B.: -X TopMargin=10.0
z. B.: -X BottomMargin=10.0
z. B.: -X ShouldPrintBackgrounds=TRUE
z. B.: PrintsHorizontallyCentered=TRUE
z. B.: PrintsVerticallyCentered=FALSE
0.0 ... 1.0
; Vorgabe: 1.0
)z. B.: -X PrintScalingFactor=0.5
E.g.: PaperSize=300.0,400.0
A4
, A5
, Legal
, ...
, Vorgabe: A4
)z. B.: -X PaperName=Letter
Portrait
oder Landscape
, Vorgabe: Portrait
)z. B.: Orientation=Landscape
Auto
oder Fit
oder Clip
)z. B.: VerticalPagination=Fit
Auto
oder Fit
oder Clip
)z. B.: HorizontalPagination=Auto
Hilfedatei anzeigen.
toolclient -t html2pdf -i test.html -o test.pdf -s localhost -X BottomMargin=20.0 -X TopMargin=10.0
HTML-Datei „test.html“ in eine PDF-Datei („test.pdf“), die alle referenzierten Objekte enthält, umwandeln. Zusätzlich wird ein oberer Rand von 10 Punkten sowie einen unterer Rand von 20 Punkten hinzugefügt.
Wird „toolclient“ mit „html2pdf“ zur Umwandlung einer HTML-Seite in eine
PDF-Datei verwendet, müssen die Quelltags der enthaltenen Bilder (<img src=...>
)
den absoluten Pfad enthalten. Andernfalls können die Bilder nicht in die
PDF-Datei integriert werden. Optional können Sie die URL in die erste Zeile
der heruntergeladenen HTML-Seite hinzufügen.
Der Datentyp „html2pdf“ verarbeitet HTML-Seiten gemäß den Angaben
im Druck-Stylesheet (rel="stylesheet" ... media="print"), falls vorhanden.
Die Angaben in diesem Stylesheet könnten mit den Optionen in „osxhtmlrender“,
die mit -X
gesetzt werden, überlagern.
Bei Verwendung mit „toolclient“ verwenden Sie als Typ pdf2bmp
Dieses Tool verwendet die Apple-Technologie „Quartz“, um eine RGB-Rastervorschau einer PDF-Datei zu erzeugen, was häufig zum Erstellen einer Vorschau von PDF-Dateien mit japanische Zeichen genutzt wird. Aufgrund von Lizenzeinschränkungen bei Schriften kann PDF HandShake nicht alle japanischen PDF-Dokumente verarbeiten. „osxpdfrender“ bietet hier eine Alternative.
Qualitativ hochwertige Voransichten mit CMYK-Farben und sauberem Überdrucken erhalten Sie mit dem Befehl „layout“. Dafür müssen die Produkte HELIOS ImageServer und PDF HandShake auf dem Server installiert sein.
osxpdfrender [-C <dir>] [-i <infile>] [-o <outfile>] [-O <propfile>] [-X <key>=<value>]... [-h]
Folgende Optionen stehen zur Verfügung:
Arbeitsverzeichnis, in dem die zu verarbeitenden Dateien liegen und die Logdatei gespeichert wird, setzen.
Eingangsdatei <infile>
statt „job.in“ verwenden.
Ausgabe nach <outfile>
statt nach „job.out“ schreiben.
Eigenschaften der Ausgabedatei nach
<propfile>
statt nach „job.outprops“ schreiben.
Spezifische Tool-Optionen:
Breite des erzeugten Rasterbildes in Pixel
z. B.: -X Width=144
Höhe des erzeugten Rasterbildes in Pixel
z. B.: -X Height=144
int
; Vorgabe: 1
)Zu verarbeitende Seitenzahl
z. B.: -X PageNumber=28
TRUE
oder FALSE
;
Vorgabe: TRUE
)Breite des erzeugten Rasterbildes in Pixel
z. B.: -X AntiAlias=TRUE
Hilfedatei anzeigen.
Bei Verwendung mit „toolclient“ verwenden Sie als Typ pdfflatten
Dieses Tool akzeptiert PDF-Dateien und verwendet Adobe Acrobat 8.1 oder neuer (für Mac) zur Transparenzreduktion. Es wird ein PDF-Dokument ausgegeben, das keine Transparenzen mehr enthält. Es wird dafür die in Acrobat Professional integrierte Preflighting-Technologie genutzt.
Auf einem Mac automatisiert das Tool „osxpdfflatten“ Acrobat als „root“,
es sei denn, RunAsUser
wird in der Konfigurationsdatei angegeben
(empfohlen!).
Es ist erforderlich, sich einmal als angegebener Benutzer anzumelden, Acrobat
von Hand zu starten und sich dann wieder abzumelden. Dadurch wird sichergestellt,
dass Acrobat-Präferenzen des Benutzers vorhanden sind. Andernfalls wird die
Fehlermeldung „*** no user interaction is permitted“ ausgegeben.
„osxpdfflatten“ macht einen dedizierten Arbeitsplatzrechner erforderlich. Anwender können an diesem Rechner nicht arbeiten, da das Skript Acrobat startet und stoppt sowie Fenster öffnet/schließt, was einen Anwender sehr irritieren würde. Ein Klick in ein Acrobat-Fenster würde auch die Transparenzreduktion beinflussen.
osxpdfflatten[-C <dir>] [-i <infile>] [-o <outfile>] [-O <propfile>] [-X <key>=<value>]... [-h]
Folgende Optionen stehen zur Verfügung:
Arbeitsverzeichnis, in dem die zu verarbeitenden Dateien liegen und die Logdatei gespeichert wird, setzen.
Eingangsdatei <infile>
statt „job.in“ verwenden.
Ausgabe nach <outfile>
statt nach „job.out“ schreiben.
Eigenschaften der Ausgabedatei nach
<propfile>
statt nach „job.outprops“ schreiben.
Spezifische Tool-Optionen:
Absoluter Pfad zu einem eigenen PDF-Preflightprofil. Das Profile muss auf dem „pdfflatten“-Rechner liegen (Mac-/Win-Arbeitsplatzrechner/„Tool Server“) und der Pfad in Übereinstimmung mit dem System angegeben sein, z. B.:
-X Profile="/Volumes/Profiles/Magazine Ads.kfp"
oder
-X Profile="C:\Profiles\Magazine Ads.kfp"
Optional kann auch ein UNIX-Pfad relativ zum HELIOS-Verzeichnis angegeben werden, z. B. wenn das Profil im Volume „Settings“ („var/settings/PDF Preflight/...“) hinterlegt ist.
Hilfedatei anzeigen.
toolclient -t pdfflatten -s localhost -i test.pdf -o flat.pdf
Die Transparenzen in der PDF-Datei „test.pdf“ werden reduziert, d. h. sämtliche transparente Objekte werden flachgerechnet. Die Datei wird dann als PDF-Dokument ohne Transparenzen ausgegeben („flat.pdf“).
Bei Verwendung mit „toolclient“ verwenden Sie als Typ pdfflatten
Prinzipiell dieselben Funktionen wie das Tool „osxpdfflatten“, aber hier wird Acrobat für Windows automatisiert.
Bei Verwendung mit „toolclient“ verwenden Sie als Typ raw2tiff
Mit diesem Tool lassen sich RAW-Dokumente mit Hilfe von Apples Bildverarbeitungstechnologie in PDF-Dateien wandeln.
osxraw2tiff [-C <dir>] [-i <infile>] [-o <outfile>] [-O <propfile>] [-X <key>=<value>]... [-h]
Folgende Optionen stehen zur Verfügung:
Arbeitsverzeichnis, in dem die zu verarbeitenden Dateien liegen und die Logdatei gespeichert wird, setzen.
Eingangsdatei <infile>
statt „job.in“ verwenden.
Ausgabe nach <outfile>
statt nach „job.out“ schreiben.
Eigenschaften der Ausgabedatei nach
<propfile>
statt nach „job.outprops“ schreiben.
Spezifische Tool-Optionen:
Dateierweiterung der
Eingangsdatei (ohne den Punkt), z. B.: cr2
.
Hilfedatei anzeigen.
OfficeReader erzeugt mit Hilfe von Microsoft Office (für Mac/Windows) eine PDF-Vorschau von Office-Dokumenten. Die Voraussetzungen sind:
.NET Framework 3.5
Microsoft Office 2007, 2010 oder 2013 (muss aktiviert sein!)
Add-in „Speichern unter – PDF oder XPS“ (nur Microsoft Office 2007)
In Office 2013 müssen Sie ggf. Sprachpakete nachinstallieren, wenn der Export von PDF-Dateien fehlschlägt (Extras > Sprache)
Der Eintrag RunAsUser=<Benutzername>
muss der Datei
„OfficeReader.conf“ hinzugefügt werden. Dafür muss das bestehende
Benutzerkennwort mit dem HELIOS Programm „authutil“ erneut gesetzt werden,
z. B.:
authutil passwd -n mike -p secret
Microsoft Office 2011 (muss aktiviert werden!)
Der Eintrag RunAsUser=<Benutzername>
in der Datei „OfficeReader.conf“
muss mit dem Namen des angemeldeten Benutzers übereinstimmen!
OfficeReader [-C <dir>] [-X <key>=<value>]... -h (for help info)
Folgende Optionen werden unterstützt:
Arbeitsverzeichnis auf <dir>
setzen.
Spezifische Tool-Optionen (siehe unten).
Hilfedatei anzeigen.
Neben den Hauptoptionen lassen sich auch Optionen spezifisch für das
Tool setzen (die Angabe der Option SUFFIX
ist erforderlich!):
Dateiendung des Originaldokuments (erforderlich).
TRUE
aktiviert ausführliche Protokollierung.
Vorgabe: FALSE
.
Diese Option ist nützlich, wenn eine Datei nicht verarbeitet werden kann, z. B. aufgrund eines Kennwortschutzes. Die Vorgabe sind 5 Sekunden.
toolclient -t OfficeReader -i Presentation.ppt -X SUFFIX=ppt -o ppt.pdf
PDF-Vorschau („ppt.pdf“) aus PowerPoint-Dokument „Presentation.ppt“ erzeugen.
toolclient -v -t OfficeReader -i Calculation.xls -X SUFFIX=xls -o excel.pdf
PDF-Vorschau („excel.pdf“) aus Excel-Dokument „Calculation.xls“ erzeugen.
toolclient -v -t OfficeReader -i Text.doc -X SUFFIX=doc -o word.pdf
PDF-Vorschau („word.pdf“) aus Word-Dokument „Text.doc“ erzeugen.
toolclient -t OfficeReader -i password.doc -X SUFFIX=doc -X OPENTIMEOUT=10 -o pass.pdf
Setzt den Time-out zum Öffnen der Datei „password.doc“ auf 10 Sekunden.
Die folgenden Hinweise beziehen sich nur auf Windows:
Erscheint die Fehlermeldung exited with status -2146232576
,
sollte die lokale Installation und der Benutzer überprüft werden. Normalerweise
läuft OfficeReader mit Administrator-Rechten. Wenn die Fehlermeldung erscheint,
kann es sein, dass MS Office nicht als „Administrator“ läuft.
Um dieses Problem zu lösen, muss entweder die Installation von MS-Office
gefixt oder der richtige Benutzer in der MS-Office-Konfigurationsdatei
angegeben werden:
RunAsUser=Administrator
Der Fehler ToolSync_ExecJob failed: tool 'etc/tools/OfficeReader.exe' failed, exit status= -1073741515
deutet höchstwahrscheinlich darauf hin, dass eine DLL nicht gefunden werden konnte.
Das heißt, dass entweder OfficeReader nicht richtig installiert wurde
oder die Installation von MS-Office fehlerhaft ist. Dies kann an einer
falschen Office-Version oder einem fehlenden MS-Office Add-in „Microsoft
Save as PDF or XPS“ oder „.NET Framework“ liegen.
Der Fehler ***ERROR***: checkSetup: There is no default
printer.
deutet darauf hin, dass kein Standarddrucker eingerichtet ist,
obwohl dies für den Export von PDF-Dateien erforderlich ist.
Folgende Fehlermeldungen können unter verschiedenen Windows-Versionen auftreten:
Fehler: Retrieving the COM class factory for component with CLSID {000209FF-0000-0000-C000-000000000046} failed due to the following error: 80080005
Lösung: Öffnen Sie Einstellung der Benutzerkontensteuerung
und stellen Sie den Schieberegler auf Nie benachrichtigen
.
Fehler: ***ERROR***: Could not open document: Microsoft Excel cannot access the file 'C:\Program Files (x86)\Helios\var\tmp\toolsrv-8\job
Anstelle dieser Fehlermeldung kann auch eine Ausnahmemeldung ausgegeben werden.
Lösung: Prüfen Sie, ob auf Ihrem System das Verzeichnis „C:\Windows\System32\config\systemprofile\Desktop“ existiert. Falls nicht, müssen Sie es anlegen. Sollte das Verzeichnis „C:\Windows\SysWOW64“ in Ihrer Windows-Installation existieren (was bei den meisten 64-bit-Systemen der Fall sein dürfte), müssen Sie ebenfalls das Verzeichnis „C:\Windows\SysWOW64\config\systemprofile\Desktop“ anlegen.
Fehler: Ein fehlerhafter Standarddrucker (mit falschen Zugriffsrechten) kann der Grund für einen „hängenden“ Export von Excel-Dateien sein. Der Export stoppt nach einem ToolServer Time-out (Vorgabe sind 180 Sekunden).
Lösung: Legen Sie einen neuen Standarddrucker an.
Dieses Tool liest „job.in“ und startet dann ein definiertes AppleScript. Die verarbeitete Datei wird nach „job.out“ geschrieben.
osxapplescript [-C <dir>] [-i <infile>] [-o <outfile>] [-X <key>=<value>]... -h
Folgende Optionen stehen zur Verfügung:
Arbeitsverzeichnis, in dem die zu verarbeitenden Dateien liegen und die Logdatei gespeichert wird, setzen.
Eingangsdatei <infile>
statt „job.in“ verwenden.
Ausgabe nach <outfile>
statt nach „job.out“ schreiben.
Spezifische Tool-Optionen:
AppleScript, das gestartet
werden soll, z. B.:
-X ToolScript=sharpen-psd.applescript
.
FALSE
)Aufgerufenes AppleScript anzeigen. Wird „ShowScript“ mit „toolclient“ genutzt,
muss die Option -v
ebenfalls angegeben werden.
Hilfedatei anzeigen.
„osxapplescript“ ist ein Startprogramm, welches von folgenden Beispielen für die Automatisierung mit AppleScripts verwendet wird:
„sharpen-psd.applescript“ und „action-psd.applescript“
Bei Verwendung mit „toolclient“ verwenden Sie als Typ sharpen-psd
AppleScript-Beispiel, welches ein JPEG-Bild unter Verwendung von Photoshop CS4 schärft.
Spezifische Tool-Optionen:
Das Tool erhält nur die Eingangsdatei „job.in“. Wir benötigen also die Dateiendung (mit dem voranstehenden Punkt „.“) der Originaldatei zur korrekten Umbenennung, da Photoshop kein Bild mit falscher Dateiendung öffnet.
0
)AppleScript muss die Zielanwendung aufgrund möglicher Speicherverluste
o. ä. nach Beendigung des Auftrags schließen. Falls dieser Parameter auf
1
gesetzt ist, lässt die Anwendung zur Fehlersuche oder zum
Skripten geöffnet.
toolclient -v -s ankh.helios.de -t sharpen-psd -i SourceImage.jpg -o DestinationImage.jpg -X JobInSuffix=.jpg -X KeepApplRunning=0
Bei Verwendung mit „toolclient“ verwenden Sie als Typ action-psd
AppleScript-Beispiel, welches ein Bild unter Verwendung einer Photoshop-CS4-Aktion bearbeitet.
Spezifische Tool-Optionen:
Das Tool erhält nur die Eingangsdatei „job.in“. Wir benötigen also die Dateiendung (mit dem voranstehenden Punkt „.“) der Originaldatei zur korrekten Umbenennung, da Photoshop kein Bild mit falscher Dateiendung öffnet.
0
)AppleScript muss die Zielanwendung aufgrund möglicher Speicherverluste
o. ä. nach Beendigung des Auftrags schließen. Falls dieser Parameter auf
1
gesetzt ist, lässt die Anwendung zur Fehlersuche oder zum
Skripten geöffnet.
Die spezifischen Optionen für die Tools „JobInSuffix“ und „KeepApplRunning“ sind erforderlich.
Name der aufgerufenen Photoshop-Aktion.
toolclient -t action-psd -i SourceImage.jpg -o DestinationImage.jpg -X JobInSuffix=.jpg -X KeepApplRunning=0 -X ActionName=myCustomAction -X ShowScript=FALSE
AppleScript erlaubt die Verwendung von Funktionen aller Anwendungen, die kompatibel mit AppleScript sind. Einige mitgelieferte Beispielskripte nutzen zur Erledigung ihrer Aufgaben Adobe Photoshop. Dennoch sollten Sie einige Dinge bedenken:
Im Umfeld von Arbeiten auf der Kommandozeile ist es nicht möglich,
Befehle aus grafischen Oberflächen integrieren. So kann beispielsweise
display dialog
nicht verwendet werden. Vergewissern Sie sich,
dass die verwendeten Befehle keinen Dialog in der Zielanwendung betreffen.
So ist es z. B für Photoshop ratsam, den Befehl set display
dialogs to never
zu verwenden.
Nachdem ein Auftrag erledigt ist (oder eine Anwendung „hängt“), muss „toolsrv“ sämtliche Prozesse beenden. Da es aber nichts von Anwendungen weiß, die von einem AppleScript gestartet wurden, ist es erforderlich alle PIDs dieser Anwendungen in eine Logdatei zu schreiben, sodass die zugehörigen Prozesse beendet werden können, falls etwas nicht so läuft wie geplant. Dazu kann die Funktion „WriteChildPID“ verwendet werden. Im Beispielskript „sharpen-psd.applescript“ finden Sie weitere Einzelheiten.
Zielanwendungen benötigen eventuell eine Dateiendung für Eingangsdateien. Vergewissern Sie sich also, dass die Eingangsdatei „job.in“ korrekt benannt ist.
„sharpen-psd.applescript“ beinhaltet die Funktion WriteLog
,
um „toolclient“ bei gesetzter Verbose-Option Rückmeldungen zu geben.
„toolsrv“ und „toolclient“ sind für die Verarbeitung auf Servern
entwickelt worden. Leider ist dies bei manchen Client-Anwendungen nicht
der Fall, sodass diese nach der Verarbeitung beendet werden müssen, damit
der Arbeitsplatzrechner (auf dem „toolsrv“ installiert ist) nach Verarbeitung
mehrerer Aufträge nicht abstürzt, z. B. durch Speicherverluste.
Zur Fehlerbehebung kann es vorteilhaft sein, diese Funktion abzuschalten,
da es einige Zeit braucht, die Zielanwendung(en) neu zu starten.
„sharpen-psd.applescript“ beinhaltet ein Beispiel, wie Sie dies mit der
Eigenschaft KeepApplRunning
bewirken können.
Mit der Option toolclient -v
lässt sich das aufgerufene
AppleScript mit Hilfe von -X ShowScript=TRUE
anzeigen. Dies ist
nützlich, wenn Sie das gesamte Skript ansehen möchten, da die Eigenschaften
von „toolsrv“ vor das Skript in den Header geschrieben werden. Diese Option
ist nur für die Fehlerbehebung gedacht.
Jedes Tool benötigt eine Konfigurationsdatei, die zumindest das
Tool selbst spezifiziert. Sie kann jedoch auch zusätzliche Informationen
wie z. B. RunAsUser=, License=
usw. enthalten.
Das Tool „mytool“ wird beispielsweise durch die Datei „mytool.conf“ konfiguriert:
# mytool config file Tool=mytool RunAsUSer=mike
Das Tool und die zugehörige Konfigurationsdatei müssen in das Verzeichnis „HELIOSDIR/var/settings/Tool Server“ kopiert werden. Anschließend muss „toolsrv“ neu konfiguriert werden, damit das Skript erkannt wird (siehe den Abschnitt zur Rekonfiguration in Kapitel 1.3 „Erste Schritte“).
Ein Tool benötigt eine Eingangsdatei „job.in“ und erzeugt eine Ausgabedatei „job.out“.
Das Tool kann optional auch die Datei „job.outprops“ erzeugen, die Informationen zu der erzeugten Ausgabedatei enthält.
DataType=RGBA Width=400 Height=200
Zulässige Werte für „DataType“ sind: PDF, PNG (RGB PNG-Datei), RGBA (RGBA-Rasterbild, 4 Bytes pro Pixel) und RAW (beliebige Daten).
Meldungen an stderr werden an den Tool Client („toolclient“) übermittelt.
Tool, das beim Aufruf von toolclient
verwendet
wird (siehe Abschnitt 1.4 „toolclient (Programm Tool Client)“).
Ein sogenannter „Termination Handler“, der den Tool Server innerhalb
von 2 Sekunden nach Erhalt eines SIGTERM
-Signals beendet.
Mit der Option -h
lassen sich alle verfügbaren Optionen
anzeigen.
Die Option -C
zum Umsetzen des Auftragsverzeichnisses.
Die Option -v
zum Aktivieren der erweiterten Ausgabe
von Auftrags- bzw. Fehlerinformationen nach stderr.
Der richtige Ausgabecode (0
=erfolgreich).
Beispiele für Shell-, Perl und Visual-Basic-Skripte finden Sie unter auf der HELIOS Website.
Üblicherweise wird der Tool Client auf dem Hauptserver installiert und benötigt eine ImageServer-Lizenz.
Obwohl „toolsrv“ selbst keine Lizenz benötigt, darf er nur dann installiert und verwendet werden, wenn der Benutzer eine gültige ImageServer-Lizenz für den Host, auf dem „toolclient“ installiert ist, besitzt. Dies stellt eine leichte Abweichung von der tatsächlichen HELIOS Lizenzvereinbarung dar, die in der Datei „license.txt“ auf der HELIOS CD finden und die Ihnen während der Installation der HELIOS Software im HELIOS Installer angezeigt wird.
Die Tools benötigen keine lokale Lizenz, sondern „fragen“ „toolclient“ nach einer gültigen Lizenz:
Tool | Lizenz |
osxhtmlrender | ImageServer |
osxpdfflatten/winpdfflatten | ImageServer |
osxpdfrender | ImageServer |
OfficeReader | ImageServer/WebShare/Universal File Server |
osxraw2tif | ImageServer |
osxapplescript | – |