pixin - Bildeingabe per Kommandozeile


Was ist pixin?

pixin ist ein Werkzeug (pixin.exe), mit dem man über die Kommandozeile aus der Windows-Eingabeaufforderung (cmd.exe) heraus Bilder in die Datenbank einfügen kann, ohne den -Client zu verwenden.

So können in einer Massenverarbeitung große Bildermengen automatisiert in die Datenbank transportiert werden. Damit steht neben Autoinsert, Drag and Drop und dem CSV-Import eine weitere, sehr mächtige Variante zur Verfügung, um (große) Bildermengen im Batch zu verarbeiten.

Das besondere an pixin ist die Möglichkeit der Programmierbarkeit durch den Anwender. So können Sie sich zum Beispiel ein Perl-Skript schreiben, das alle Unterverzeichnisse eines gegebenen Startverzeichnisses durchläuft und jeweils den Verzeichnisnamen als Personenname interpretiert und dabei alle Bilder eines Verzeichnisses mit dem entsprechenden Namen der abgebildeten Person in die Datenbank schreibt (siehe folgendes Beispiel).

Aufrufsyntax

Sie verwenden pixin in der Windows-Eingabeaufforderung (cmd.exe) durch Eingabe von pixin oder pixin.exe. Falls das Programm nicht gefunden wird, müssen Sie sich entweder in dem pixafe-Programmverzeichnis (Standard: C:\Programme\pixafe) befinden oder dieses Verzeichnis in den Windows-Pfad aufnehmen.

Übersicht

pixin unterscheidet zwischen

    Pflichtparametern, die beim Aufruf angegeben werden müssen und
    optionalen Parametern, die Sie angeben können.
Die Reihenfolge, in denen Sie die Parameter übergeben ist ohne Bedeutung. Die folgende Aufrufsyntax zeigt die Pflichtparameter und optionale Parameter in eckigen Klammern. Alle Parameter und deren Subparameter werden im folgenden erläutert.

pixin -U Kennung -P Passwort -f Dateiname [-c <NAME> <Autor>]
 [-s <SCHLAGWORT>[,...,<SCHLAGWORT>]] [-k <KATEGORIE>[,...,<KATEGORIE>]]
 [-o <ORT>[,...,<ORT>]] [-t <BESCHREIBUNG>] [-p <NAME>[;...;<NAME>]]
 [-d <DATUM>] [[-D MagazinNr,Bildnr]|[-F Albumnummer,Seitennummer]|
 [-K <KÜNSTLER><TITEL>,<DATUM>]] [-M] [-m] [-x]
 [[-q Y]|[-q y]|[-q N]|[-q n]

Formate

Elemente
Dabei bedeuten die Daten in spitzen Klammern folgendes:

  <NAME>         : Vorname,Nachname wobei der Vorname max 25 und der Nachname max 35 Zeichen lang sein darf.
  <SCHLAGWORT>   : Text(max 60 Zeichen)
  <KATEGORIE>    : Text(max 30 Zeichen)
  <BESCHREIBUNG> : Text(max 2000 Zeichen)
  <ORT>          : Text(max 65 Zeichen)
  <KUENSTLER>    : siehe <NAME>
  <TITEL>        : Text(max 80 Zeichen)
  <DATUM>        : tt.mm.jjjj
  <WAHRHEITSWERT>: JA|NEIN

Trenner zwischen mehreren Elementen
Bei der Angabe von mehreren Personen, Orten, etc. verwenden Sie bitte folgende Trennzeichen:

  <NAME>;<NAME>
  <SCHLAGWORT>,<SCHLAGWORT>
  <KATEGORIE>,<KATEGORIE>
  <ORT>,<ORT>

Elemente aus mehreren Worten
Alle Parameterwerte, die aus mehr als einem Wort bestehen müssen in doppelten Hochkommata eingeschlossen werden. Falls Sie folgende Orte zu einem Bild in die Datenbank eintragen wollen:

    Auf dem Bauernhof
    Davos
    Bergstraße 22
ist folgender Parameter anzugeben: -o "Auf dem Bauernhof,Davos,Bergstraße 22"

Kennung

-U Kennung (Pflichtparameter)

pixin benötigt eine Benutzerkennung (Benutzerkonto) mit dessen Rechten der Eintrag in die Datenbank erfolgen soll. Dieses Konto kann zum Beispiel das Benutzerkonto sein, mit dem Sie sich zur Benutzung von anmelden.

Passwort

-P Passwort (Pflichtparameter)

Damit die Anmeldung unter der angegebenen Kennung durchgeführt werden kann, müssen das entsprechende zur Kennung gehörende Passwort angeben.

Dateiname

-f Dateiname (Pflichtparameter)

Der Dateiname spezifiziert die Bilddatei, die Sie in die Datenbank übernehmen möchten.

Autor

-c Autor (optional)

Über diesen Parameter geben Sie den Namen des Fotografs bzw. Autors des Bildes an. Hier kann nur genau ein Name bestehend aus Vorname und Nachname angegeben werden. Vgl. Formate

Schlagworte

-s Schlagworte (optional)

Mit diesem Parameter geben Sie beliebig viele Schlagworte zu dem einzufügenden Bild an. Vgl. Formate

Kategorien

-k Kategorien (optional)

Hiermit geben Sie beliebig viele Kategorien Vgl. Formate

Orte

-o Orte (optional)

Hiermit geben Sie beliebig viele Orte Vgl. Formate

Beschreibung

-t Beschreibung (optional)

Über diesen Parameter geben Sie eine Freitextbeschreibung zu dem neuen Bild an. Vgl. Formate

Personen

-p Personen (optional)

Hiermit geben Sie beliebig viele Personen Vgl. Formate

Datum

-d Datum (optional)

Über diesen Parameter können Sie das Datum des Bildes eingeben. Einfacher ist es das Bilddatum aus den EXIF-Daten einlesen zu lassen. Falls diese Daten nicht stimmen oder falls in dem einzufügenden Bild keine EXIF-Daten enthalten sind, kann dennoch ein Datum angegeben werden. Vgl. Formate

Dia

-D Magazinnummer,Dianummer (optional)

Beim Einfügen eines Dias, ist die Magazinnummer und Dianummer getrennt durch ein Komma anzugeben. Vgl. Formate

Papierbild

-F Albumnummer,Seitennummer (optional)

Beim Einfügen eines Papierbildes ist die Nummer des Albums durch ein Komma getrennt von der Seite des Albums anzugeben. Vgl. Formate

Kunstwerk

-K Künstler;Titel,Datum (optional)

Beim Einfügen eines Kunstwerkes sind der Künstler, der Titel des Kunstwerks und das Datum anzugeben. Vgl. Formate

Verschieben

-M (optional)

Wenn die Bilddatei in die Datenbank verschoben werden soll, geben Sie diesen Parameter an.

Markieren

-m (optional)

Wenn das neue Bild gleicht markiert werden soll, geben Sie diesen Parameter an.

EXIF-Daten nicht einlesen

-x (optional)

Wenn Sie nicht möchten, dass die EXIF-Daten des einzufügenden Bildes in die Datenbank eingetragen werden sollen, geben Sie diesen Parameter an.

KeineRückfrage

-q (optional)

Wenn Sie keine Rückfrage (z.B. Soll die Person xy in die Datenbank aufgenommen werden?) von pixafe wünschen (bei Massenverarbeitung zu empfehlen) können Sie alle Rückfragen mit Ja beantworten lassen und -q y als Parameter angeben.

Anwendungsbeispiel

Problemstellung

Für das folgende Beispiel nehmen wir an, dass Sie die Bilder von über 1000 Mitarbeiter in die Datenbank übernehmen möchten. Die Bilder zu jedem Mitarbeiter liegen in Verzeichnissen, die mit dem Namen der jeweiligen Person benannt wurden. So gibt es Beispielsweise das Verzeichnis München\Ramisch_Alexander in dem alle Bilder abgelegt sind, auf denen Alexander Ramisch abgebildet ist. Insgesamt haben Sie die Aufgabe, über 5000 Bilder in die Datenbank zu übernehmen, da zu jedem Mitarbeiter mehrere Bilder existieren.

Lösung mit pixin

Es wird ein Perl-Skript geschrieben, das alle Verzeichnisse durchläuft und aus den Verzeichnisnamen wie z.B. Ramisch_Alexander das Argument für den Aufruf von pixin -p Alexander,Ramisch ermittelt. So wird für alle Bilder mit jeweils einem pixin-Aufruf die Bilder in die Datenbank übernommen.

Perl-Skript

Das dazu notwendige Perl-Skript ist eine kleine Aufgabe. Das fertige Skript sieht in etwa wie folgt aus:


$StartPfad = "X:\\fotos\\Portraits-2002\\";
@Verzeichnisse = <$StartPfad*.*> ;
foreach $filename (@Verzeichnisse)
{
  $name = substr( $filename, length( $StartPfad ) );
  ($nachname,$vorname) = split( /_/ , $name );
  @Bilder = <$filename\\*.JPG> ;

  foreach $bild (@Bilder)
  {
    system "pixin -q y -f $bild -U alex -P pass -p $vorname,$nachname -c Alexander,Ramisch -o München";
  }
}

Die freie Skriptsprache Perl