> ## Documentation Index
> Fetch the complete documentation index at: https://dokumentation.websale.de/llms.txt
> Use this file to discover all available pages before exploring further.

# Bildkonverter-Konfiguration wsimageconvert.cfg

> Die beiden Abschnitte der Konfiguration wsimageconvert.cfg: Grundeinstellungen zu Transferlisten und Unterverzeichnissen sowie die einzelnen Konvertierungsformate mit Quellverzeichnis, Zielverzeichnis, Dateityp und ImageMagick-Argumenten.

Der Bildkonverter nimmt Bilder aus einem Quellverzeichnis, rechnet sie in ein oder mehrere Zielformate um und legt die Ergebnisse in den Verzeichnissen des Shops ab. Was dabei passiert, steht in der Datei `wsimageconvert.cfg` im Verzeichnis `auto-konvertierung`.

Die Datei hat zwei Abschnitte. `Basic` regelt, was für den gesamten Lauf gilt, also Transferlisten und den Umgang mit Unterverzeichnissen. `Convert` enthält je Zielformat einen Unterabschnitt `+Entry` mit Quelle, Ziel, Dateityp und den Argumenten für das Konvertierungsprogramm.

Zum Bearbeiten laden Sie die Datei herunter, ändern sie und laden sie wieder auf den Server.

Wegweiser: [Bildkonverter](https://dokumentation.websale.de/v8s/online-servicebereich/spezielle-online-dienste.md#bildkonverter)

## Aufbau der Datei

```ini theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
<Basic>
   TransferList-Allow             =
   TransferListDirectory          =
   TransferListSrcDirectory       =
   TransferListRemoveSrcDirectory =
   KeepSubDirectories             =
   DeleteSrcSubDirectories        =
</Basic>

<Convert>
   <+Entry>
      Name             =
      Type             =
      DestDir          =
      SrcDir           =
      ExclDir          =
      ConvertArgs      =
      ConvertArgs-JPG  =
      ConvertArgs-PNG  =
      ConvertArgs-GIF  =
      ConvertArgs-Webp =
   </+Entry>
   ...
</Convert>
```

## `Basic`

### Transferlisten

Eine Transferliste ist eine Textdatei mit allen Dateien, die ein Lauf konvertiert hat. Sie dient als Übergabe an nachgelagerte Systeme, die wissen müssen, welche Bilder neu sind.

| Parameter | Zweck | Werte |
| - | - | - |
| `TransferList-Allow` | Transferlisten erstellen | `yes`, `no`. Standard: `no` |
| `TransferListDirectory` | Verzeichnis, in dem die Listen abgelegt werden | Pfad relativ zum Shopverzeichnis |
| `TransferListSrcDirectory` | nur Bilder aus diesem Unterverzeichnis in die Liste schreiben | Unterverzeichnis |
| `TransferListRemoveSrcDirectory` | dieses Unterverzeichnis aus den Einträgen entfernen | `yes`, `no`. Standard: `no` |

`TransferListDirectory` ist Pflicht, sobald `TransferList-Allow` auf `yes` steht. Das Verzeichnis müssen Sie vorher von Hand auf dem Server anlegen, der Konverter erzeugt es nicht.

`TransferListSrcDirectory` ist optional. Ohne diesen Parameter landen alle konvertierten Bilder in der Liste. Mit ihm nur die aus dem genannten Unterverzeichnis, alle anderen bleiben außen vor. `TransferListRemoveSrcDirectory` lässt sich nur zusammen mit `TransferListSrcDirectory` verwenden und kürzt dessen Namen aus den Einträgen heraus.

Der Dateiname einer Transferliste besteht aus dem Datum und einer je Tag fortlaufenden Nummer.

```text theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
20260930-0.dat
```

Der Inhalt ist eine Liste von Pfaden, eine Datei je Zeile.

```text theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
produkte/klein/04202C2.PNG
produkte/klein/360030C.PNG
```

### Unterverzeichnisse

Im Quellverzeichnis `auto-konvertierung/quellbilder` dürfen Sie Unterverzeichnisse anlegen, beispielsweise `auto-konvertierung/quellbilder/produkte`. Der Konverter durchsucht das Quellverzeichnis samt allen Unterverzeichnissen nach Dateien.

| Parameter | Zweck | Werte |
| - | - | - |
| `KeepSubDirectories` | die Verzeichnisstruktur in die Zielverzeichnisse übernehmen | `yes`, `no`. Standard: `no` |
| `DeleteSrcSubDirectories` | leere Unterverzeichnisse nach dem Lauf löschen | `yes`, `no`. Standard: `no` |

Standardmäßig landen alle konvertierten Dateien flach direkt im Zielverzeichnis. Die Struktur aus dem Quellverzeichnis geht dabei verloren. `KeepSubDirectories = yes` bildet sie im Zielverzeichnis nach und legt fehlende Verzeichnisse automatisch an.

`DeleteSrcSubDirectories = yes` räumt die Unterverzeichnisse im Quellverzeichnis nach dem Lauf auf. Gelöscht wird ein Verzeichnis nur, wenn es keine Bilder mehr enthält.

## `Convert`

Je Zielformat ein Unterabschnitt `+Entry`. Ein Quellbild durchläuft alle Einträge, zu denen es passt, und erzeugt so mehrere Ausgaben in verschiedenen Größen und Formaten.

```ini theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
<Convert>
   <+Entry>
      Name        = jpg-Produktbild 1000x1000 Pixel
      DestDir     = websale8_shop-xyz/produkte/medien/bilder/gross
      SrcDir      = produkte/gross
      ConvertArgs = -resize 1000x1000> -background white -compose Copy -gravity center -extent 1000x1000 -quality 80 -strip
   </+Entry>
</Convert>
```

### Pflichtparameter

| Parameter | Zweck | Werte |
| - | - | - |
| `Name` | Beschreibung des Formats | Text, beispielsweise `jpg-Produktbild 1000x1000 Pixel` |
| `DestDir` | Zielverzeichnis der konvertierten Dateien | Pfad relativ zum Root-Verzeichnis des Shops |
| `ConvertArgs` | Kommandozeilen-Argumente für ImageMagick | siehe unten |

`Name` erscheint im Online-Servicebereich im Dienst Bildkonverter auf der Startseite unter der Überschrift "Konvertierungs-Formate". Wählen Sie den Text so, dass Sie das Format dort wiedererkennen.

> [!WARNING]
>
> Diese drei Parameter sind Pflicht. Fehlt einer von ihnen, wird der **gesamte `+Entry` stillschweigend übersprungen**. Es erscheint keine Fehlermeldung, das Format fehlt dann einfach im Ergebnis.
>
> `ConvertArgs` muss vorhanden sein, darf aber leer bleiben. Das ist unter anderem bei der Umwandlung nach webp nötig.

Der Pfad in `DestDir` wird vom Konverter normalisiert, so dass er nicht aus dem Shopverzeichnis herausführen kann. Angaben mit `..` greifen deshalb nicht.

### Quelle einschränken

| Parameter | Zweck | Werte |
| - | - | - |
| `SrcDir` | nur diese Unterverzeichnisse berücksichtigen | Verzeichnisse, mehrere durch Senkrechtstrich getrennt |
| `ExclDir` | diese Unterverzeichnisse ausnehmen | Verzeichnisse, mehrere durch Senkrechtstrich getrennt |

Beide Angaben beziehen sich auf Unterverzeichnisse von `auto-konvertierung/quellbilder`.

```ini theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
SrcDir  = produkte/gross|produkte/klein
ExclDir = produkte/intern
```

Ohne `SrcDir` werden alle Verzeichnisse einschließlich des Hauptverzeichnisses berücksichtigt. Mit `SrcDir` nur die aufgezählten, alle anderen werden ignoriert. `ExclDir` brauchen Sie in der Regel nur dann, wenn kein `SrcDir` gesetzt ist.

`ExclDir` vergleicht den Anfang des Pfades, nicht einen beliebigen Teil davon. `ExclDir = produkte` schließt also `produkte/gross` aus, aber nicht `archiv/produkte`. Leerzeichen um die Verzeichnisnamen werden entfernt.

### Dateityp

| Parameter | Zweck | Werte |
| - | - | - |
| `Type` | Dateityp, in den konvertiert wird | `jpg`, `png`, `gif`, `webp` und andere Schreibweisen |

Bleibt `Type` leer, behält die Datei ihren Typ. Welche Umwandlungen möglich sind, zeigt die folgende Tabelle.

| Von | Nach jpg, png, gif | Nach webp |
| - | - | - |
| `.jpg` | ja | ja |
| `.png` | ja | ja |
| `.gif` | ja | nein |
| `.webp` | nein | nein |

> [!WARNING]
>
> Die Schreibweise von `Type` bestimmt die Schreibweise der Dateiendung. Aus `04531.PNG` wird mit `Type = png` die Datei `04531.png`, mit `Type = Png` dagegen `04531.Png`.
>
> Eine nicht unterstützte Umwandlung erzeugt keine Fehlermeldung im Shop. Die Datei wird nur übersprungen und der Grund ins Protokoll geschrieben.

### Konvertierungs-Argumente

`ConvertArgs` enthält die Kommandozeilen-Argumente, die an ImageMagick übergeben werden. Hier legen Sie fest, was mit der Datei geschieht, also beschneiden, auffüllen, skalieren oder komprimieren.

```ini theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
ConvertArgs = -resize 400x400> -background white -compose Copy -gravity center -extent 400x400 -quality 80 -strip
```

Für einzelne Quellformate lässt sich dieser Wert überschreiben.

| Parameter | Überschreibt `ConvertArgs` für |
| - | - |
| `ConvertArgs-JPG` | Dateien mit der Endung `.jpg` oder `.jpeg` |
| `ConvertArgs-PNG` | Dateien mit der Endung `.png` |
| `ConvertArgs-GIF` | Dateien mit der Endung `.gif` |
| `ConvertArgs-Webp` | Argumente für `cwebp`, siehe unten |

Die Endungen werden unabhängig von Groß- und Kleinschreibung erkannt.

Der Konverter trennt die Argumente an Leerzeichen. Ein Argumentwert, der selbst ein Leerzeichen enthält, lässt sich deshalb nicht übergeben.

> [!WARNING]
>
> Die Option `-sharpen` kostet unverhältnismäßig viel Laufzeit. Schon `-sharpen 0` verdoppelt die Konvertierungsdauer, ohne überhaupt zu schärfen. Bei `-sharpen 5` beträgt der Unterschied das Fünffache. Zusätzlich wächst die Dateigröße des Ergebnisses.
>
> Für die Endqualität der Bilder spielt die Schärfung eine untergeordnete Rolle. Verzichten Sie im Zweifel darauf.

### Umwandlung nach webp

Für webp arbeitet der Konverter zweistufig, weil ImageMagick dieses Format auf der eingesetzten Plattform nicht erzeugt.

1. ImageMagick führt die Änderungen aus `ConvertArgs` aus und schreibt eine temporäre Datei.
2. Das Programm `cwebp` wandelt diese temporäre Datei mit den Argumenten aus `ConvertArgs-Webp` nach webp um.

```ini theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
<+Entry>
   Name             = webp-Produktbild 400x400 Pixel
   Type             = webp
   DestDir          = websale8_shop-xyz/produkte/medien/bilder/webp
   ConvertArgs      = -colorspace rgb
   ConvertArgs-Webp = -resize 400 400 -q 80
</+Entry>
```

> [!WARNING]
>
> Drei Bedingungen müssen erfüllt sein, damit die Umwandlung nach webp läuft.
>
> `Type` muss auf `webp` stehen. Ohne diesen Wert wird `ConvertArgs-Webp` gar nicht ausgewertet.
>
> `ConvertArgs` muss vorhanden sein, auch wenn er keinen Wert enthält.
>
> `cwebp` beherrscht den Farbraum CMYK nicht. Geben Sie deshalb in `ConvertArgs` den Parameter `-colorspace rgb` an, sonst scheitert die Umwandlung bei Bildern aus der Druckvorstufe.

Eine Liste der möglichen Argumente für `cwebp` finden Sie in der Dokumentation von Google unter [developers.google.com/speed/webp/docs/cwebp](https://developers.google.com/speed/webp/docs/cwebp).

## Was mit fehlerhaften Quelldateien passiert

Der Konverter prüft jede Quelldatei zweimal. Zuerst die Dateiendung, dann die ersten Bytes der Datei, um festzustellen, ob der Inhalt wirklich zum angegebenen Format passt.

> [!WARNING]
>
> Besteht eine Datei eine dieser beiden Prüfungen nicht, wird sie **im Quellverzeichnis gelöscht** und ein Eintrag im Fehlerprotokoll erzeugt. Die Datei ist danach weg.
>
> Das betrifft Dateien mit einer nicht unterstützten Endung ebenso wie Dateien, deren Inhalt nicht zur Endung passt, beispielsweise eine in `.jpg` umbenannte PDF-Datei.
>
> Legen Sie Quellbilder deshalb nie ausschließlich im Konvertierungsverzeichnis ab.

## Wenn etwas nicht funktioniert

| Beobachtung | Mögliche Ursache |
| - | - |
| Ein Format fehlt vollständig im Ergebnis | Im `+Entry` fehlt `Name`, `DestDir` oder `ConvertArgs`. Der Eintrag wird dann komplett übersprungen |
| Die Transferliste wird nicht geschrieben | `TransferListDirectory` fehlt, oder das Verzeichnis existiert nicht auf dem Server |
| Die Transferliste ist leer | `TransferListSrcDirectory` zeigt auf ein Unterverzeichnis, in dem nichts konvertiert wurde |
| Alle Bilder liegen flach im Zielverzeichnis | `KeepSubDirectories` steht auf `no` |
| Einzelne Quelldateien sind spurlos verschwunden | Sie haben eine der beiden Formatprüfungen nicht bestanden und wurden gelöscht. Der Grund steht im Fehlerprotokoll |
| webp-Dateien entstehen nicht | `Type` steht nicht auf `webp`, `ConvertArgs` fehlt ganz, oder die Quelle ist eine `.gif`- oder `.webp`-Datei |
| webp scheitert nur bei einzelnen Bildern | Diese Bilder liegen im Farbraum CMYK. In `ConvertArgs` fehlt `-colorspace rgb` |
| Die Konvertierung dauert auffällig lange | In `ConvertArgs` steht `-sharpen` |
| Die Dateiendung hat eine ungewohnte Schreibweise | Die Schreibweise stammt aus `Type` |

Die Fehlermeldungen eines Laufs finden Sie im Online-Servicebereich im Dienst Bildkonverter.


## Related topics

- [REST Bildkonverter](https://dokumentation.websale.de/v8s/schnittstellen/rest-osb-dienste/rest-bildkonverter.md)
- [Spezielle Online-Dienste](https://dokumentation.websale.de/v8s/online-servicebereich/spezielle-online-dienste.md)
- [Verzeichnisstruktur eines Shops](https://dokumentation.websale.de/v8s/materialien/verzeichnisstruktur-eines-shops.md)
- [Konfiguration wsautoexpdelcost.cfg](https://dokumentation.websale.de/v8s/referenz/konfigurationen/konfiguration-wsautoexpdelcost-cfg.md)
- [Konfiguration product_alternatives.cfg](https://dokumentation.websale.de/v8s/referenz/konfigurationen/konfiguration-product-alternatives-cfg.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.