CIB runShell technischer Leitfaden

Site: CIB eLearning
Course: CIB runShell
Book: CIB runShell technischer Leitfaden
Printed by: Guest user
Date: Thursday, 21 November 2024, 9:53 PM

Lieferumfang

Als ausführbares Konsolenprogramm (EXE)

Komponente

Softwareumfang

CIB runshell

WIN32

cibrsh.exe      CIB runshell, Kommandozeilenshell WIN32

Unix

cibrshux         CIB runshell, Kommandozeilenshell für Unix(e)


Im Lieferumfang ist des Weiteren eine Hilfe und Anwendungsbeispiele enthalten.

Für die aktive Nutzung der CIB runshell müssen die zugehörigen CoMod-Dlls im Zugriff sein und lizenziert sein. Zusätzlich wird eine Beispiel-Konfigurationsdatei mit ausgeliefert.

Einführung

Die CIB runshell ist ein komfortables Kommandozeilentool. Darüber können alle CIB office Komponenten, die in Form von DLLs oder shared libraries ausgeliefert werden, angesteuert werden.

Mit der CIB runshell ist es insbesondere möglich alle Aufrufparameter ("Properties") zu setzen, die diese einzelnen CIB office Module zur Verfügung stellen.

Ebenso kann über die CIB runshell mit Hilfe einer Parameterdatei ein größerer Auftrag an mehrere verschiedene CIB office Module abgesetzt werden.

Die vorliegende Dokumentation gibt Ihnen einen schnellen Überblick über die Einsatzmöglichkeiten.


Installation

Windows

Das Konsolenprogramm cibrsh*.exe kann als eigenständiges Programm angewendet werden und wird dazu in das Verzeichnis der CoMod-Dlls kopiert. Die Konfigurationsdatei cibrsh.ini kann alternativ auch ins Windowsverzeichnis kopiert werden.

Zusätzlich besteht die Möglichkeit, mit dem Parameter „–i <Pfad>cibrsh.ini“, die Konfigurationsdatei direkt anzugeben.

 

Linux und Unix

Das Konsolen-Programm cibrshux kann als eigenständiges Programm verwendet werden, dazu kopiert man es ins Verzeichnis mit den CoMod-Libraries und setzt den Library-Path korrekt. Die Konfigurationsdatei cibrsh.ini kann man auch in dieses Verzeichnis kopieren oder alternativ mit dem Parameter „–i <Pfad>cibrsh.ini“ angeben.


Funktionsumfang

Versionen der CIB office Module (=CoMod) ausgeben
CIB office Module ansteuern
Besonderheiten

Versionen der CIB office Module (=CoMod) ausgeben

Ohne Aufrufparameter gibt die CIB runshell Informationen über die vorgefundenen CIB office Module auf dem Bildschirm aus. Es werden dann alle CIB office Module (wie zum Beispiel CIB format, CIB view, CIB merge, CIB rec, CIB r2h, CIB dialog, jeweils Dll-Version) gesucht und die gefundenen mit Versionsnummer, Erstellungsdatum, Installationsverzeichnis und Dateigröße ausgegeben.

Wenn in dem aktuellen Verzeichnis manche CIB Module nicht gefunden werden, dann wird alternativ in allen Verzeichnissen die über die (LIB)PATH Systemumgebungsvariablen zugänglich sind, nach vorhandenen CIB Modulen gesucht und diese entsprechend ausgegeben.

Versionsanzeige installierte CIB office Module

In Abbildung sehen Sie einmal den CIB print markiert, durch den Aufruf von cibrsh.exe bekommen Sie nun folgende Informationen: CIB print(= CIB format) ist als Version 5.3.176 installiert und wurde am 03.07.2006 erstellt. Ebenso kann man die Dateigröße mit 8769591 Bytes und das Installationsverzeichnis „D:\Source\COMod\bin\Debug\“ sowie den Dateinamen CibPrt32.dll ablesen.


CIB office Module ansteuern

Mit der CIB runshell kann jede CIB office Komponente gezielt angesteuert werden.

Alle über Kommandozeilenparameter und Konfigurationsdateien ansteuerbaren Funktionalitäten werden unterstützt.

Alle Stringproperties, alle numerischen Properties sowie alle Flags (boolsche Properties) können konfiguriert werden.

Mehrere Kommandos (auch gemischte CoMods) können mit einem einzigen Aufruf angestoßen werden, z.B. Mischen eines Dokuments mit CIB merge, Drucken des Ergebnisses mit CIB format/print sowie Konvertierung mit CIB format/pdf.

Die Parameter- und Kommandoübergabe kann auch über eine Parameterdatei erfolgen.


Besonderheiten

Insbesondere zur Massenverarbeitung großer Multi-RTF-Dateien mit CIB format/print ist die CIB runshell eine komplett fertige und einfach einzusetzende Steuerungsmöglichkeit.

Die CIB runshell unterstützt CIB format/print ab der Version 5.0.x

Java

Ebenso lässt sich die CIB runshell gut aus Java Anwendungen nutzen. Dafür steht Ihnen eine eigene JAVA Klasse zur Verfügung.

Beispiele siehe Kapitel „Schneller Einstieg“.


Kommandos und Parameter

Die nachfolgende Aufstellung zeigt alle verfügbaren Kommandos, die über die CIB runshell ausgeführt werden können.

Kommando

Erforderliche Mindest-Parameter

Funktion

Erforderliches CIB modul

<kein Parameter>

Entfällt

Zeigt Information zu den installierten CIB Modulen an

keines

-a

Eingabedateiname

Lädt angegebene Datei und speichert sie im ASCII-Format.
Der Ausgabedateiname entspricht bis auf die Dateinamen­erweiterung ".txt" dem Eingabedateinamen

CIB format

-f

Eingabedateiname

Lädt Eingabedatei und speichert sie im PDF-Format.
Der Ausgabedateiname entspricht bis auf die Dateinamen -
Erweiterung „.pdf“ dem Eingabedateinamen

CIB format

-fa

Eingabedateiname

Lädt angegebene Datei und speichert sie im PDF/A-Format

CIB format

-fe

Eingabedateiname

Lädt angegebene Datei und speichert sie im PDF-Format mit Enhanced-Objekt. (ePdf)

CIB format

-gj

Eingabedateiname

Lädt angegebene Datei und speichert sie im JPEG-Format.

(ab CIB runshell Version 1.3.93 und CIB format Version 5.3.232)

CIB format

-gp

Eingabedateiname

Lädt angegebene Datei und speichert sie im PNG-Format.

(ab CIB runshell Version 1.3.93 und CIB format Version 5.3.232)

CIB format

-gt

Eingabedateiname

Lädt angegebene Datei und speichert sie im TIFF-Format.

(ab CIB runshell Version 1.3.93)

CIB format

-h

Eingabedateiname

Lädt angegebene Datei und speichert sie im HTML-Format.
Der Ausgabedateiname entspricht bis auf die Dateinamen­erweiterung ".html" dem Eingabedateinamen.

CIB format

-l

Eingabedateiname

Lädt angegebene Datei und speichert sie im PCL-Format.

CIB format

-lp

Eingabedateiname

Lädt angegebene Datei und druckt sie im PCL-Format

CIB format

-o

Eingabedateiname

Sendet die angegebene Datei per Email an einen Empfänger. Optional kann eine weitere Datei angegeben werden, welche als Mailtext gesendet wird. (MAPI)

CIB format

-p

Eingabedateiname

Druckt die angegebene Datei mit CIB format\print auf dem
Standarddrucker bzw. auf dem in der Konfigurationsdatei
spezifizierten Drucker aus

CIB format

-r

Eingabedateiname Ausgabedateiname

Lädt Eingabedateiname und speichert sie unter dem
Ausgabedateinamen im RTF-Format ab.

CIB format

-rf

Eingabedateiname Ausgabedateiname

Lädt Eingabedateiname und filtert sie unter dem Ausgabedateinamen im RTF-Format ab.
(ab CIB runshell Version 1.3.91)

CIB format

-s

Eingabedateiname

Lädt angegebene Datei und speichert sie im Postscript-Format.
Der Ausgabedateiname entspricht bis auf die Dateinamen­erweiterung ".ps" dem Eingabedateinamen

CIB format

-sc

Eingabedateiname

Lädt angegebene Datei und führt einen SyntaxCheck in eine Textdatei durch

(ab CIB runshell Version 1.3.96)

CIB format

-sp

Eingabedateiname

Lädt angegebene Datei und druckt sie als Postscript-Strom.

CIB format

-t

Eingabedateiname

Lädt angegebene Datei und speichert sie im TIFF-Format.

Veraltet: ab CIB runshell Version 1.3.93 siehe Parameter -gt

CIB format

-vw

(Ab Version 1.7)

Eingabedateiname

Konvertiert die Eingabedatei in CIB doXiview Output[png + CIB metafile]. OutputFormat=FormatWebview

CIB format

-vj

(Ab Version 1.7)

Eingabedateiname

Konvertiert die Eingabedatei in CIB jView Output[CIB metafile] OutputFormat=FormatJavaview

CIB format

-xf

Eingabedateiname

optional: Ausgabedateiname

Lädt Eingabedateiname und alle enthaltenen Feldinformationen werden im Ausgabedateinamen gespeichert. (rtf-name;rtf-field;field-param) Ist kein Ausgabedateiname angegeben, wird <Eingabedateiname>.DAT verwendet.

CIB format

-xfo

Eingabedateiname

Lädt angegebene Datei und speichert sie im XSL-FO-Format.
(ab CIB runshell Version 1.3.90a)

CIB format

-v

Eingabedateiname

Zeigt CIB view Druckvorschau der angegebenen Datei.

CIB view

CIB format/output

CIB pdf toolbox

-vp

Eingabedateiname

Silent Druck der angegebenen PDF Datei

CIB pdf toolbox

CIB view

-vi

Eingabedateiname

Zeigt die angegebene Datei im CIB image an.

CIB image

-m

Parameterdateiname

Verwendet angegebene Datei als Parameterdatei und startet CIB merge

CIB merge

-m<Parameter>

 

Führt CIB merge mit dem angegebenen Merge Parameter aus.

CIB merge

-xm

Eingabedateiname

optional: Ausgabedateiname

Lädt Eingabedateiname und alle enthaltenen Feldinformationen werden im Ausgabedateinamen gespeichert. (rtf-name;rtf-field;field-param) Ist kein Ausgabedateiname angegeben, wird <Eingabedateiname>.DAT verwendet.

CIB merge

-fb

Eingabedateiname

Lädt druckbare Datei und speichert sie im PDF-Format.

CIB pdf brewer

-fb

Eingabedateiname Ausgabedateiname

Lädt druckbare Datei1 und speichert sie im PDF-Format unter Datei2 ohne den Speichern Unter-Dialog anzuzeigen.

CIB pdf brewer

-fb *

 

Fragt nach Datei und speichert sie im PDF-Format.

CIB pdf brewer

-fbc ...

 

Fragt nach Datei und speichert sie im PDF-Format, verwendet jedoch die aktuellen Druckeinstellungen.

CIB pdf brewer

-fbs *

 

zeigt die aktuellen Druckeinstellungen und speichert diese.

CIB pdf brewer

-tb

Eingabedateiname

Lädt druckbare Datei und speichert sie im TIFF-Format.

CIB tiff brewer

-tb

Eingabedateiname Ausgabedateiname

Lädt druckbare Datei Eingabedateiname und speichert sie im TIFF-Format unter Ausgabedateiname ohne den „Speichern unter“-Dialog anzuzeigen.

CIB tiff brewer

-tb *

 

Fragt nach Datei und speichert sie im TIFF-Format.

CIB tiff toolbox

-tbc ...

 

Lädt druckbare Datei und speichert sie im TIFF-Format, verwendet jedoch die aktuellen Druckeinstellungen.

CIB tiff toolbox

-tbs *

 

Zeigt die aktuellen Druckeinstellungen und speichert diese.

CIB tiff toolbox

-fj

Eingabedateiname1
Eingabedateiname2
Ausgabedateiname

"CIB pdf join":

Lädt die angegebenen PDF-Dateien, und speichert sie im PDF-Format unter Datei3 zusammen ab.

CIB pdf toolbox

-fm

Eingabedateiname
Ausgabedateiname

"CIB pdf merge":

Lädt angegebene PDF-Datei, aktualisiert die Werte der Kontrollfelder und speichert sie im PDF-Format unter Datei2

CIB pdf toolbox

-fp

(Ab Version 1.3.84)

Eingabedateiname

Druck einer PDF-Datei

CIB pdf toolbox

-fp2

(Ab Version 1.7)

Eingabedateiname

Öffnet den Print Setup Dialog vor dem PDF-Druck

CIB pdf toolbox

-oc

Eingabedateiname

Erkennt enthaltene Barcodes in der angegebenen Datei und liefert als BarcodeFilename-Property Wert auf stdout zurück.
(ab CIB runshell Version 1.3.89)

CIB ocr

-om

keine

Sendet Emails über die Windows MAPI an Empfänger.

CIB mail

-os

keine

Sendet Emails über SMTP an Empfänger.

CIB  mail

-c

Eingabedateiname

Verschlüsselungs- und Komprimierungsfunktionen.

CIB crypt

-cd

Eingabedateiname Ausgabedateiname

Lädt Eingabedateiname und entschlüsselt sie. Das
Ergebnis wird unter dem Ausgabedateinamen gespeichert.

CIB crypt

-ce

Eingabedateiname Ausgabedateiname

Lädt Eingabedateiname und verschlüsselt sie. Das
Ergebnis wird unter dem Ausgabedateinamen gespeichert.

CIB crypt

[InputFormat=<format>] -c Datei1 Datei2\n

 

Entschlüsselt/Entkomprimiert Datei1 und speichert sie verschlüsselt/komprimiert in Datei2 <format>=(CC9|RC4|D3DES|ZLIB)*

CIB crypt

-d

Eingabedateiname

Lädt angegebene Job-Datei und führt die darin definierten Arbeitsschritte aus.

CIB job

-d

Eingabedateiname Ausgabedateiname

Führt die XML-Auftragsdatei(Eingabedateiname) aus und speichert die Auftragsergebnisdatei unter dem Ausgabedateinamen.

CIB job

-df

Eingabedateiname Ausgabedateiname

Führt die XML-Auftragsdatei(Eingabedateiname) aus und speichert die Auftragsergebnisdatei unter dem Ausgabedateinamen und verwendet das Filename-Interface.

CIB job

-dm

Eingabedateiname Ausgabedateiname

Führt die XML-Auftragsdatei(Eingabedateiname) aus und speichert die Auftragsergebnisdatei unter dem Ausgabedateinamen und verwendet das InputMemoryAdress-Interface.

CIB job

-fd

Eingabedateiname

Extrahiert die eingebettete(n) Datei(en) aus dem CIB e.Pdf.

CIB epdf

-fi

Eingabedateiname

Liest die Info der PDF-Datei mit Enhanced-Object. (ePdf)

CIB epdf

-ua

 

Prüft ob ein SignaturPad angeschlossen ist.

CIB pad

-j

Eingabedateiname1 Eingabedateiname2

Vergleicht die Eingabedateien miteinander.

CIB compare

-jh

Eingabedateiname1 Eingabedateiname2

Vergleicht die HOCR Eingabedateien miteinander.

CIB compare

-jbig

(Ab Version 1.7)

Eingabedateiname1 Eingabedateiname2

Wandelt eine jbig2 in bmp um.

CIB jbig2

-js

Eingabedateiname

Ausgabedateiname

Ansteuerung CIB jsMerge: verarbeitet Eingabedatei und darin enthaltene Befehle und gibt Ausgabedatei aus

CIB jsMerge

 

 

 

 

-e

(Ab Version 1.3.84)

Entfällt

Führt den CIB install cleaner aus

CIB install cleaner

-i

Dateiname

Verwendet angegebene Datei als Konfigurationsdatei

-

=

Propertyname=Wert

Weist der Property "Propertyname" den Wert "Wert" zu.

-

-?

Entfällt

Zeigt eine Hilfeseite in der Konsole an

-

--help

(ab CIB runshell Version 1.4.98)

Entfällt

Zeigt eine Hilfeseite in der Konsole an

-

A=B

 

Setzt Property A auf den Wert B für das nächste Kommando.

-

-z

 

Setze die Prozesspriorität. Beispiel -z-1

Folgende Prozessor-Prioritäten bestehen unter Windows:
-2, -1, 0, 1, 2 für idle, niedrig, normal, höher, hoch

Folgende Prozessor-Prioritäten bestehen unter Unix:
20, ..., -20 für sehr niedrig bis sehr hoch

Eine Erhöhung der Priorität ist nur mit root-Rechten möglich.

-


Zusatzkommando

Die nachfolgende Aufstellung zeigt alle verfügbaren Zusatzkommandos, die über die CIB runshell ausgeführt werden können.

Zusatzkommando

Funktion

-1

Test ausführen(nur DEBUG-Version)

-2

Verwendet Version 2 für das nächste Kommando

-3

Für das nächste Kommando wird das JobInterface verwendet

-4

Es werden alle Operationen intern ohne Dateien im Speicher durchgeführt.

-5

Es werden alle Parameter außer den Kommandos verschlüsselt erwartet.

--verbose

Ausgabe von Meldungen (stdout/stderr) ein-/ausschalten
(ab CIB runshell Version 1.3.83)

mögliche Werte:
„0“ (default) - Ausgaben ausschalten
„1“ - Ausgabe einschalten

--no-iniwrite

Ausgaben in das Ini-File ein-/abschalten
(ab CIB runshell Version 1.3.86)

mögliche Werte:
„0“ (default) - Ausgabe einschalten
„1“ - Ausgabe abschalten

--batch-error-mode

Abbruch, wenn in mehreren Aufrufen in einer Zeile ein Rückgabewert ungleich „0“ aufgetreten ist.
(ab CIB runshell Version 1.3.86)

mögliche Werte:
„ignore“ (default) - kein Abbruch des Aufrufs bei Fehler
„fail“ - Abbruch des Aufrufs bei Fehler

--module-dir

Nach Angabe eines Verzeichnisses zu den Modulen(Libraries) werden diese für die weiteren Argumente verwendet.

(ab CIB runshell Version 1.3.88)

Kommando wird in folgenden Fällen nicht unterstützt:

  • Wert aus Ini-File und Aufruf der Versionsanzeige
  • Aufruf des Job-Interfaces, siehe Zusatzkommando „-3“
  • Versionsanzeige und ausführen von Executables wie socketserver.exe oder servermanager.exe

--use-printbracket

Durch Angabe des Argumentes erfolgt der Druck über CIB format oder CIB pdf toolbox in einer Druckklammer.

(ab CIB runshell Version 1.3.93)

--time

Ausgabe der genutzten Systemressource auf stdout zum aktuell durchgeführten Aufruf

(ab CIB runshell Version 1.4.98)

--LicenseCompany= <license>

Setzen des Lizenznehmer einer CIB runshell Lizenz

(ab CIB runshell Version 1.6.0)

--LicenseKey=<key>

Setzen des Lizenzschlüssels einer CIB runshell Lizenz

(ab CIB runshell Version 1.6.0)


Aufrufsyntax

Allgemein gilt für den Aufruf der CIB runshell folgende Syntax:

cibrsh.exe [<Propertyname>=<Wert>] [-<Zusatzkommando>] [-<Kommando1> <Dateiname>
[<Dateiname>]] [<Propertyname>=<Wert>] [-<Kommando2> <Dateiname> [<Dateiname>]] ...

Ein Aufruf der CIB runshell besteht immer aus Property-Optionen und der Kommandooption (z.B. "–p") sowie keinem, einem oder zwei Dateinamen, je nach Kommando. Die Property-Optionen und die Dateinamen können auch in einer Konfigurationsdatei abgelegt werden. Dann wird die CIB runshell mit der Kommandooption „-i“ und Angabe der Konfigurationsdatei aufgerufen.

Mit der CIB runshell können mehrere Kommandos in einem Aufruf nacheinander ausgeführt werden.

Ruft man die CIB runshell ohne ein Argument auf, führt dies zur Ausgabe der verfügbaren CIB office Module und deren Versionsprüfung.


Konfigurationsdatei

Dateiformat
Namen von Sections und Keys
Beispiel für Konfigurationsdatei

Dateiformat

Die Konfigurationsdatei ist eine Textdatei. Die Informationen werden im INI-Dateiformat abgelegt, d.h. die Datei enthält Überschriften in eckigen Klammern, sogenannte Sektionen (=Sections) zu denen dann Texte unter einem Namen(=Key) und deren Wert(=Value) abgelegt werden.

Abbildung der Property-Typen

Typ

Text in Konfigurationsdatei

Beispiel

Text

Der Text ohne umschließende Anführungszeichen,
auch wenn Leerzeichen enthalten sind. Pfadangaben
kommen mit den systemspezifischen Pfadtrennern
aus, also / unter Unix, \ unter Windows/OS2

PrinterName=\\SERVER1\Fiery SI Copier

Zahl

Die Zahl wird im Dezimalsystem als Text angegeben.

YResolution=600

Flag

Boolsche Properties, deren Wert "falsch" ist, können
als 0 oder als FALSE angegeben werden. Soll "wahr"
als Propertywert angegeben werden, so kann 1,
TRUE oder ein beliebiger anderer, nichtleerer Text
angegeben werden außer 0 und FALSE.

FontsEmbedded=TRUE

Farbe

Farben, wie sie für CIB view und CIB format/html angegeben
werden können, müssen im Farbenformat des
Betriebssystems angegeben werden. Windows: lt.
Makro RGB(r,g,b) als 4-Byte-Zahl, Byte3=0, Byte2=b,
Byte1=g, Byte0(LSB)=r. Die entstehende Ganzzahl
ist im Dezimalsystem anzugeben.

CVWFocusColor=8421376

 

Anmerkung: Dies entspricht r=0, g=128, b=128 (Dunkles Blaugrün).
Das ergibt sich aus:
128 = (hex)80,
Blaugrün = (hex)00 80 80 00 = (dez)8421376


Namen von Sections und Keys

Die Namen der Sections in der ini-Datei richten sich nach den CIB office Modulen, deren Properties gesetzt werden sollen. Die Namen der Key sind die Strings, die zur Bezeichnung der Properties in der zugehörigen Headerdatei (.h) definiert sind.

[section]

key = <value> 

Modul

Sectionname

Headerdatei

Beispiel

CIB format

 

[Print]

Für 5.2/5.3:

Comod.h

cibprt.h

Für CIB format 5.1

Comod.h

Für CIB format 5.0:

OldPrt50.h

Bzw.:

cib_prt.h

PrinterName=\\SERVER1\Fiery SI Copier

 

 

 

CPRPrinterName=\\SERVER1\Fiery SI Copier

CIB view

[View]

CibVw.h

CVWTitleString=”CIB software Viewer”

CIB merge

CIB merge unterstützt noch keine Properties. Bitte alle Einstellungen wie gewohnt über die Parameterdatei treffen.

CIB shape

[Print]

 

 

CIB rec

[Rec]

 

 

CIB pdf toolbox

[Pdftoolbox]

CibPdf.h

COMod.h

 

CIB job

[Job]

 

 

CIB image

[Image]

 

 

CIB epdf

[EPdf]

 

 

CIB diff

[CIB diff]

In Entwicklung

CIB crypt

[Crypt]

 

 

CIB compare

[Compare]

In Entwicklung

CIB chart

[Chart]

Wird nie direkt aufgerufen

CIB tiff brewer API

[CIB tiff brewer]

 

 

CIB pdf brewer API

[CIB pdf brewer]

 

 

CIB mail

[Mail]

COMod.h

MailSenderFullName="CIB support"

MailSenderMailBox=CIBsupport@cib.de

CIB runshell

[Runshell]

 

--verbose=1


Beispiel für Konfigurationsdatei

Das Beispiel legt einen anderen Drucker als den Standarddrucker für CIB format/print fest. Diese Einstellung gilt auch für CIB view, da CIB view die CIB format-Einstellung verwendet. Außerdem werden Lizenzdaten gesetzt.

Datei cibrsh.ini im Windowsverzeichnis: 

[Print]
;Print 51
PrinterName=\\SERVER1\Fiery SI Copier-M v2015.108 QMS
 
; Print 50/16bit
CPRPrinterName=\\SERVER2\HPLASERJET4
 
LicenseCompany=CIB
;Testlizenz
LicenseKey=02450503630
 
[View]
CVWTitleString=CIB software Viewer

Funktionsweise

Folgende Abarbeitung der Aufrufparameter findet durch die CIB runshell statt:

Die CIB runshell setzt zunächst alle für das angegebene Kommando notwendigen Properties(das sind: Eingabedateiname, ggf. Ausgabedateiname und Ausgabeformat sowie weitere).
 Dann werden in der Windowsversion alle in der Registry festgelegten Properties ausgewertet. Dabei werden die Einträge unter „HKEY_CURRENTUSER\Software\CIB software GmbH“ ausgelesen.

Nun werden für alle Betriebssysteme die Properties aus der Konfigurationsdatei(Ini-Datei) und anschließend die in der Kommandozeile festgelegten Properties gesetzt.

Mit diesen Einstellungen wird dann das angegebene Kommando ausgeführt.


Schneller Einstieg



Aufruf der native CIB runshell aus Java mit Inifile für eine CIB pdf-Konvertierung

package de.cib.sample.comod;

import de.cib.comod.RunshellProcess;

boolean doRunshellProcess() {

	//RunshellProcess mit dem Executable erstellen
	RunshellProcess cibRunShell = new RunshellProcess("cibrsh.exe");
	//Eingabefilename
	String inputFileName = new String("Test.rtf");
	//Ausgabefilename
	String uniqueID = ""+System.currentTimeMillis();
	String outputFile = uniqueID+".pdf";
	//Property für das Arbeitsverzeichnis im CIB-Format
	//(z.B. für IncludePicture-Anweisungen) setzen 
	String sWorkspace = new String("c:\\test\\");
	cibRunShell.addProperty("WorkSpace",     sWorkspace);
	//IniFile mit dem Kommando -i setzen
	cibRunShell.addCommand("-i",  sWorkspace+"cibrsh.ini");
	//Kommando -f für die PDF-Konvertierung und Eingabe- sowie 	//Ausgabefilenamen setzen
	cibRunShell.addCommand(RunshellProcess.COMMAND_PDF,
	inputFileName, outputFile);
	try {
		//PDF-Konvertierung ausführen
		cibRunShell.executeAndWait(new File(sWorkspace));
	}
	catch(Exception ex) {
		System.out.println("Bei der Konvertierung mit CIB format "+
		"ist eine Exception aufgetreten.");
		return false;
	}
	//Fehlerbehandlung der Runshell
	int error = cibRunShell.getExitCode();
	if (error != 0) {
		System.out.println("CIB format-Fehler: " + error + 
		"bei der Ausführung von " + cibRunShell.getCommandLine() + 
		";");
		return false;
	}
	return true;
}

Aufrufbeispiel der CIB runshell aus Java und direkter Druck eines PDF-Dokuments

Um diese Beispiel auszuführen werden zwei weitere Klassen benötigt: RunshellProcess.java und Process.java .

import java.io.*;
import de.cib.comod.RunshellProcess;

public class DirectPrintPdf {
	public static void main(String[] args) {
		//PDF-Datei festlegen z.B. ein Test.pdf
		String inputFileName = new String("..\\Test.pdf");
		// neuen Runshell-Prozess starten
		RunshellProcess cibRunShell = new RunshellProcess("cibrsh.exe");
		//Druckernamen festlegen z.B. HP LaserJet 4100 Series PS
		cibRunShell.addArgument("PrinterName = \\\"" + "HP LaserJet 4100 Series PS" + "\\\"");
		//Ausgabeformat festlegen
		cibRunShell.addProperty("OutputFormat", "FormatPrinter");
		//Eingabedatei festlegen
		cibRunShell.addCommand(RunshellProcess.COMMAND_PDFJOIN, inputFileName);
		try {
			//Pfad zu den Libraries angeben und Prozess starten
			runshell.executeAndWait(new File("."));
		}
		catch(IOException io) {
			io.printStackTrace();
		}
		catch(InterruptedException inter) {
			inter.printStackTrace();
		}
}

CIB runshell-Beispiel: Aufruf der native CIB runshell aus Java für einen CIB merge-Mischlauf

package de.cib.sample.comod;
import de.cib.comod.RunshellProcess;

boolean doMergeRunshellProcess() {

		// neuen Runshell-Prozess starten
		String t_Workspace = new String("\home\user\");
		// cibrshux ist die CIB runshell unter Linux/Unix
		RunshellProcess runshell = new RunshellProcess("./bin/cibrshux");
		runshell.addArgument(RunshellProcess.COMMAND_MERGE+"a./templates");
		runshell.addArgument(RunshellProcess.COMMAND_MERGE+"q./Data");
		runshell.addArgument(RunshellProcess.COMMAND_MERGE+"'l!merge.log'");
		runshell.addArgument(RunshellProcess.COMMAND_MERGE+"iTest.rtf");
		runshell.addArgument(RunshellProcess.COMMAND_MERGE +"'o!output.rtf'");
		runshell.addArgument(RunshellProcess.COMMAND_MERGE+"s");
		runshell.addArgument(RunshellProcess.COMMAND_MERGE+"-old-compare");
		runshell.addArgument(RunshellProcess.COMMAND_MERGE+"dTest.csv");
		runshell.addArgument(RunshellProcess.COMMAND_MERGE+"@1");
		try
		{
			// Pfad zu den Libraries angeben und Prozess starten
			runshell.executeAndWait(new File(t_Workspace));
		}
		catch(IOException io)
		{
			System.out.println("Beim Mischen mit CIB merge "+
			"ist eine Exception aufgetreten.");
			return false;
		}
		catch(InterruptedException inter)
		{
			System.out.println("Beim Mischen mit CIB merge "+
			"ist eine Exception aufgetreten.");
			return false;
		}
	// Fehlerbehandlung der CIB runshell
	int error = cibRunShell.getExitCode();
	if (error != 0) {
		System.out.println("CIB merge-Fehler: " + error + 
		"bei der Ausführung von " + cibRunShell.getCommandLine() + 
		";");
		return false;
	}
	return true;
}

Aufrufbeispiel der CIB runshell aus Java und ausführen von IsPadAvailable

Um diese Beispiel auszuführen werden zwei weitere Klassen benötigt: RunshellProcess.java und Process.java .

import java.io.*;
import de.cib.comod.RunshellProcess;

public class PadAvailable {
	public static void main(String[] args) {
		// neuen Runshell-Prozess starten
		RunshellProcess runshell = new RunshellProcess("cibrsh.exe");
		runshell.addCommand("-ua", "");
		try {
			//Pfad zu den Libraries angeben und Prozess starten
			runshell.executeAndWait(new File("."));
		}
		catch(IOException io) {
			io.printStackTrace();
		}
		catch(InterruptedException inter) {
			inter.printStackTrace();
		}
		//Wenn der ExitCode 0 ist wurde ein Pad gefunden
		if (runshell.getExitCode() != 0) {
			System.out.println("no pad available");
			System.out.println("exit with code  " + runshell.getExitCode());
		}
		else {
			System.out.println("pad found");
		}
	}
}

PadAvailable.java


Aufrufbeispiel der CIB runshell über ein Script aus Java

import java.lang.Runtime;
import java.io.*;
import java.lang.*;

public class ScriptExec {

    public static void main(String[] args){
    	System.out.println("start");
    // TODO implement Main.main
    	Runtime t_RunTime = Runtime.getRuntime();
    	if (t_RunTime != null)
    	{
	    	String[] t_cmdarray = new String[2];
		//Angabe das aufzurufenden Scripts
	    	t_cmdarray[0] = new String("./TestScript.sh");
		//Argument fuer das Script mit Leerzeichen
	    	t_cmdarray[1] = new String("DocInfo.Author=CIB support Team");
	    	
	    	try
	    	{
	    		//Script starten	
			Process t_Process = t_RunTime.exec(t_cmdarray);
			int t_Result = t_Process.waitFor();
		}
	    	catch (IOException exec)
	    	{
	    		System.out.println("IOException");
	   		exec.printStackTrace(); 
		}
		catch (InterruptedException interexec)
		{
			System.out.println("InterruptedException");
                        interexec.printStackTrace();	
		}
    	}
    }
}

ScriptExec.java

#/bin/sh
LD_LIBRARY_PATH=. ./cibrshux "$1" -f input.rtf output.pdf

TestScript.sh aus Linux/Unix


Returnwert und Fehlerbehandlung

Returnwert

Der Errorlevel/Exitcode des EXE-Aufrufs entspricht dem Fehlercode des ausgeführten Moduls bzw. dem Fehlercode des Betriebssystems.
Zum Beispiel wenn das notwendige Modul nicht geladen werden konnte oder fehlt, bekommt man unter WIN32 den Rückgabewert 126.
Der Rückgabewert 198 ist für jede Art von unerwarteter Ausnahme reserviert, die während der Ausführung des Befehls auftritt(zum Beispiel ein Absturz in der CIB print-Dll).


Fehlerbehandlung

Aufgetretene Fehler werden mit der Fehlernummer und dem Fehlertext auch in der Konsole ausgegeben.

Ein Fehlercode größer 0 bedeutet, dass ein Problem aufgetreten ist und das Kommando nicht ordentlich zu Ende geführt wurde. Nachfolgende Kommandos werden nicht ausgeführt, wenn bei einem Kommando ein Fehler aufgetreten ist.

Konsultieren Sie zur Fehlerbehebung die entsprechenden Abschnitte der Dokumentation des aufgerufenen Moduls.