Druckdaten mit KI erstellen: CMYK und PDF/X-3 ohne InDesign
  • 5. September 2026
  • Coding
  • Künstliche Intelligenz
  • By Stefan Antonelli

Druckdaten mit KI erstellen: CMYK und PDF/X-3 ohne InDesign

Heute kam das Paket von der Druckerei. Drin liegt ein personalisiertes Kinderbuch aus unserer App Knuffel, gedruckt nach Datei, ohne Korrekturschleife. Die Farben sitzen, das Schwarz im Text ist scharf, der Beschnitt stimmt. Für diese Datei hat niemand InDesign geöffnet. Sie kommt aus rund 400 Zeilen Python, die eine KI in gut einer Stunde geschrieben hat.

Druckdaten mit KI erstellen
YouTube Short

Warum Druckdaten bisher Spezialistensache waren

Ein PDF, das am Bildschirm gut aussieht, ist noch lange keine Druckdatei. Eine Druckerei erwartet vier Dinge, und an jedem davon scheitern selbst gemachte Dateien regelmäßig.

  • CMYK statt RGB. Der Bildschirm mischt Licht, die Maschine mischt Farbe. Was nicht vorher umgerechnet wurde, rechnet die Druckerei um, und dann sieht das Ergebnis anders aus als erwartet.
  • Beschnitt. Das Motiv muss über das Endformat hinauslaufen, meist 2 mm auf jeder Seite, sonst blitzt nach dem Schneiden ein weißer Rand auf.
  • Ein eingebettetes Farbprofil. Es sagt der Maschine, für welche Bedingung die Farben gerechnet sind, bei uns ISO Coated v2 300% für gestrichenes Papier.
  • PDF/X-3 als Norm. Sie verbietet alles, was im Druck Ärger macht, etwa Transparenzen und nicht eingebettete Schriften.

Genau dafür gab es bisher entweder ein Layoutprogramm und jemanden, der es bedienen kann, oder eine Agentur mit Stundensatz.

Was wir gebaut haben

Knuffel erzeugt personalisierte Kinderbücher, Text und Bilder entstehen mit KI. Das Lese-PDF und das Booklet konnte die App schon länger. Was fehlte, war die Datei, die man einer Druckerei schicken kann.

Titelseite einer fertigen Geschichte in der Knuffel App
Innenseite der Geschichte mit Illustration und Text in der Leseansicht

Heute steht im Admin ein Menüpunkt. Format wählen, Beschnitt wählen, Druckdaten erzeugen. Ein paar Sekunden später liegt eine geprüfte PDF/X-3 Datei bereit. Links im Menü siehst du, wie sich die Druckdaten zwischen die anderen Ausgaben einreihen, also Lese-PDF, Booklet, EPUB und Hörbuch.

Aktionsmenü einer Bestellung in der Knuffel Administration mit dem Eintrag Druckdaten erzeugen
Dialog zur Auswahl von Endformat und Beschnittzugabe für die Druckdaten

So hat es angefangen

Am Anfang stand kein fertiges Konzept, sondern eine Frage an Claude im laufenden Projekt. Sinngemäß so.

schau dir an, wie wir im projekt das pdf bauen. wir müssen daraus druckdaten für die druckerei erzeugen. 120x120 mm, cmyk mit dem farbprofil iso coated v2 (fogra 39 l), 2 mm beschnittzugabe

Drei Dinge machen diesen Prompt brauchbar. Er lässt die KI zuerst den bestehenden Code lesen, statt eine Lösung auf der grünen Wiese zu bauen. Er nennt das Ziel in der Sprache der Druckerei, also Format, Farbprofil und Beschnitt, nicht in Code. Und er gibt keinen Lösungsweg vor, sondern nur harte Werte.

Was im Prompt fehlt, steht bei uns in den Projektregeln. In der CLAUDE.md von Knuffel liegt die Anweisung, Vorschläge kritisch zu hinterfragen und Alternativen mit Vor- und Nachteilen zu nennen. Deshalb kam als Erstes keine Datei, sondern ein Vergleich der Wege. Genau daran ist die naheliegende Idee gescheitert, das fertige PDF einfach durch einen Konverter zu schicken. Beschnitt kann ein Konverter nicht erfinden, außerhalb des Endformats ist schlicht nichts. Diese Antwort war mehr wert als jede Zeile Code danach.

Wenn du ohne solche Projektregeln arbeitest, hängst du den Satz einfach an den Prompt an. Zeig mir zuerst die möglichen Wege mit Vor- und Nachteilen, bevor du etwas baust.

Die fünf Schritte im Code

Der Weg ist immer derselbe, egal ob Kinderbuch, Etikett oder Preisliste.

1. Farbprofil festlegen. Die Druckerei nennt dir die Druckbedingung, du legst die passende ICC-Datei ins Projekt. Bei uns ist das ISOcoated_v2_300_eci.icc, die gibt es kostenlos bei der ECI.

2. Bilder ins Profil rechnen. Pillow bringt mit ImageCms die Farbmanagement-Bibliothek littleCMS mit. Jedes Bild geht einmal durch die Umrechnung, bevor es in die Seite kommt.

3. Schwarz muss Schwarz bleiben. Das ist der Punkt, den fast jede selbst gebaute Lösung falsch macht. Rechnet man schwarzen Text mit ins Profil, entsteht ein Schwarz aus allen vier Farben. Im Druck stehen die vier Platten dann minimal versetzt und die Buchstaben wirken unscharf. Text, QR-Codes und neutrale Graustufen laufen deshalb nur über die schwarze Platte.

def to_k_only(img):
    """Map a neutral image onto the black plate alone."""
    black = ImageChops.invert(img.convert("L"))
    empty = Image.new("L", img.size, 0)
    return Image.merge("CMYK", (empty, empty, empty, black))

4. Seiten mit Beschnitt zeichnen. ReportLab legt die Seite an. Der Bogen ist Endformat plus zweimal Beschnitt, TrimBox und BleedBox sagen der Druckerei, wo geschnitten wird. enforceColorSpace ist die Reißleine, die den Build abbrechen lässt, sobald doch noch eine RGB-Farbe auf die Seite rutscht.

c = canvas.Canvas(
    draft_path,
    pagesize=(sheet, sheet),
    initialFontName=font_name,
    enforceColorSpace="CMYK",
    trimBox=(bleed_pt, bleed_pt, bleed_pt + trim_pt, bleed_pt + trim_pt),
    bleedBox=(0, 0, sheet, sheet),
)

5. Zur PDF/X-3 machen. Zum Schluss bekommt die Datei den Output Intent mit dem eingebetteten Profil, dazu Dokumentinfo und ein XMP-Paket mit denselben Werten. Die Norm verlangt beides, und sie verlangt, dass beides übereinstimmt. Das erledigt pypdf in wenigen Zeilen.

Ob das Ergebnis stimmt, sagt dir nicht das Auge, sondern der Preflight. Acrobat liest aus der fertigen Datei PDF/X-3:2003, vier Druckplatten und das eingebettete Ausgabeprofil.

Preflight-Ergebnis in Adobe Acrobat mit PDF/X-Version PDF/X-3:2003 und vier Platten

Wie das Ganze nach dem Druck aussieht, entscheidet dann die Maschine. Links das Cover, rechts eine Innenseite aus dem Buch, das heute geliefert wurde.

Das gedruckte Kinderbuch aus der Verpackung, Cover
Aufgeschlagene Innenseite des gedruckten Kinderbuchs

Die Stolpersteine

Drei Dinge haben im Test gebissen, und sie werden dich auch beißen.

Transparenz ist in PDF/X-3 nicht erlaubt. Jedes PNG mit Alphakanal muss vorher auf Weiß gerechnet werden. Der QR-Code auf der Rückseite wird nicht als Bild platziert, sondern als Rechtecke gezeichnet, sonst sitzt er auf einem weißen Kasten. Und ReportLab schreibt still eine nicht eingebettete Helvetica in die Seitenressourcen, wenn du beim Anlegen der Seite keine eigene Schrift setzt. Alle drei Punkte fallen erst beim Preflight in der Druckerei auf, nicht beim Anschauen am Bildschirm.

Was daran KI ist

Ehrlicherweise erzeugt die KI die Druckdaten nicht. Sie hat den Code geschrieben, der sie erzeugt.

Mein Anteil war der Prompt oben, also die Beschreibung dessen, was die Druckerei braucht, plus die Entscheidung, dass Schwarz K-only bleibt. Den Rest, also die passenden Bibliotheken, den Aufbau des Output Intent, das XMP-Paket und die Tests dazu, hat Claude gebaut. Von der ersten Zeile bis zur ersten gültigen PDF/X-3 Datei ist gut eine Stunde vergangen. Vor zwei Jahren wäre das ein Projekt über mehrere Tage gewesen, mit einem Dienstleister in der Druckvorstufe daneben.

Genau da liegt die Verschiebung. Nicht dass KI plötzlich drucken kann, sondern dass Spezialwissen, für das du früher jemanden einkaufen musstest, jetzt in einer Stunde in deiner eigenen Software landet.

Für wen sich das lohnt

Der Weg über Code rechnet sich, sobald du dieselbe Drucksache immer wieder produzierst. Etiketten mit wechselnden Chargennummern, Urkunden mit Namen, Datenblätter aus dem PIM, Preislisten, Speisekarten, personalisierte Mailings. Überall dort sitzt heute jemand im Layoutprogramm und tauscht Text aus.

Bei Einzelstücken bleibt das Layoutprogramm die schnellere Wahl. Bei zwanzig Varianten im Monat nicht mehr.

  • AI
  • KI
  • Python
  • Druck
  • Druckvorstufe
  • PDF
  • CMYK
  • Automatisierung
  • Knuffel