Durch Block-Attribute/-Settings werden die Bearbeitungsmöglichkeiten einzelner Blocks für den printformer Editor definiert

Jedem getaggten Block können weitere Eigenschaften (Attribute) hinzugefügt werden (Anleitung). Diese definieren bspw. welche Anpassungen am Element vorgenommen werden dürfen oder wie sich das Element in verschiedenen Szenarien verhält.

Die Attribute werden wie in der Tabelle beschrieben mit Name und Wert im InDesign-Dokument dem jeweiligen Block (Tag) hinzugefügt.

BlockAttributes 

Name

Werte (Einschränkungen)

Verwendung

Anwendungsbeispiel

Alle Blöcke

condition-json

Valides JSON-Format

Condition-JSON

Block wird nur angezeigt wenn Bedingungen erfüllt sind.

settings

Valides JSON-Format 

Block-Settings

Einschränkung der Editierbarkeit von Blöcken (bspw. keine verschieben eines Blocks möglich)

tags

Ein oder mehrere Tags (kommasepariert).
Tags haben mehrere Funktionen: 

  • zur Verschlagwortung (im Editor für die "Suche nach Tags")

  • in Kombination mit dem Attribut content-requirements bei Templates mit Containern (Platzhalter für Artikeltemplates). Nur wenn der oder die Tag/s des Artikeltemplates mit denen im Attribut des Containers aufgeführten Tags übereinstimmen, kann der Container damit befüllt werden.

  • Artikeltemplates für Grid-Container werden im printformer mit ihrem Format getaggt (Bsp. "1x1", "2x3")

Container-Template:
Wird ein getaggtes Artikeltemplate in das Container-Template gezogen sind alle Container die mit diesem Artikel befüllt werden dürfen markiert.
Zusätzlich können alle Artikeltemplates nach ihren Tags (über die Suchfunktion) gefiltert werden.

content-identifier

Verwendung beim Template Typ Gruppe oder Individualisierbares Bundle:
beim Template-/Layoutwechsel wird der Inhalt des Blocks beibehalten

Ein Textblock (mit content-identifier) wird mit "Hallo" beschrieben. Auch wenn nun unterschiedliche Layouts für das Templates angewendet werden, bleibt der Text "Hallo" bestehen.

content-validation

Mittels diesem Attribut kann dem Block eine Blockinhaltsvalidierung (JSON-condition) zugewiesen werden. Als Wert wird der der Identifier der gewünschten Blockinhaltsvalidierung eingegeben.

Ein Textblock soll nicht mit der Buchstabenkombination "XX" befüllt werden, dafür wird eine entsprechende Blockinhaltsvalidierung angelegt. Wird im Editor nun "XX" in den Block eingegeben erscheint die (frei wählbare) Fehlermeldung (kurzer Pop-Up und Hinweis).

Assetblöcke (Bild-, PDF-Blöcke)

Diese Attribute werden direkt am Block (Tag in der Struktur) über Neues Attribut hinzufügen… angelegt

data-keys

Ein oder mehrere DataKeys (kommasepariert), anhand derer in den aktuellen Datenquellen nach Inhalten für den Block gesucht wird.

Text-Platzhalter

data-key-value

wird in Kombination mit dem media-hunter eingesetzt, als Wert kann bspw. ein Dateiname (inkl. Suffix) oder eine URL eingesetzt werden.

In einen Bildblock soll ein Motiv aus einer Website eingesetzt werden.
Hinweis: der printformer speichert beim ersten Öffnen des Templates das Bild aus der URL und fragt diese danach nicht mehr ab. Wird das Bild auf der Website aktualisiert bleibt die alte Version im Template bestehen.

media-hunter

external-url, custom-attribute, catalog-product-media, system-media

(Werte = Quellen: externer Link, Benutzerdefiniertes Attribut, Artikeltemplate, Systemmedien)
Attribut eines Bildblocks um nach Bildern zu suchen; definiert die Quelle des Bildes mit dem der Block gefüllt werden soll. Wird in Kombination mit den Block-Attributen data-keys oder data-key-value verwendet.
Im InDesign darf in einen mit media-hunter ausgezeichnetem Bildblock kein Default-Bild eingefügt werden, sonst reagiert der media-hunter nicht.
(Die Artikeltemplates werden bei einer Seitenplanung mit externen Produkten eingesetzt.)

Ist in einem Bildblock ein Verweis zu einer Datei der Systemmedien enthalten, muss diese Datei (bspw. Logo) bei einer Aktualisierung nur in den Systemmedien ausgetauscht werden und wird dann automatisch für alle noch nicht produzierten Templates eingesetzt.

h-align

left, center, right

Automatische horizontale Ausrichtung des Assets bei Initial- oder Medienquellenbefüllung
Standardwert: center

Wird ein Asset-Block mit einem Bild befüllt, welches eine geringere Formatbreite besitzt, dann wird es (ohne h-align) horizontal zentriert platziert.

v-align

top, center, bottom

Automatische vertikale Ausrichtung des Assets bei Initial- oder Medienquellenbefüllung
Standardwert: center

Wird ein Asset-Block mit einem Bild befüllt, welches eine geringere Formathöhe besitzt, dann wird es (ohne v-align) vertikal zentriert platziert.

Block-Settings

Beim Anlegen eines Block-Setting-Attributs wird als Name immer "settings" eingegeben.
Der Wert ist im JSON-Format anzugeben. Dieser kann mit dem BlockSettings Generator generiert werden.

Alle Blöcke

block-disable-interactions

true oder false

Ist dieser Wert true wird jegliche Interaktion mit dem Block und seinem Inhalt unterbunden.
Standardwert: false

Blöcke mit Text-Platzhaltern, in denen außer dem Textinhalt nichts verändert werden soll.
{   "block-disable-interactions": true }

block-actions

delete, move, vmove, hmove,
resize*, rotate, duplicate, opacity, zindex

(= löschen, verschieben, vertikal verschieben, horizontal verschieben, skalieren*, drehen, duplizieren, Transparenz, Ebene)
Kommaseparierte Liste an erlaubten Blockaktionen. Ein leerer String (im BlockSettings Generator wird dazu nur die Checkbox block-actions aktiviert) verbietet alle möglichen Blockaktionen. Ist dieses Setting nicht gesetzt, sind alle Blockaktionen erlaubt.
Hinweis: Einstellungen zu Farbanpassungen werden über das Attibut block-map-colors definiert.

Bei mehreren sich überlappenden Shapeblocks soll nur die Reihenfolge (welcher Block liegt im Vordergrund, welche Blocks dahinter) angepasst werden können, alle anderen Bearbeitungen sind gesperrt.
{   "block-actions": "zindex" }

tresize, trresize, rresize, brresize, bresize, blresize, lresize, tlresize

*für die Funktion skalieren kann zusätzlich ein Ankerpunkt gewählt werden, um die Richtung in die skaliert werden soll vorzugeben.
(t = top (oben), b = bottom (unten), r = right (rechts), l = left (links))
Bspw. ist bei brresize der Anker (Anfasser) unten rechts definiert, somit ist die Position des Objekts links oben unveränderbar.
Diese Einstellung ist nicht im JSON-Generator vorhanden (muss manuell eingegeben werden).
Standardwert: true

Bei einem Textblock soll nur die Schriftgröße veränderbar sein, der Abstand zum unterhalb des Blocks liegenden Objekts ist fest definiert.
{   "block-actions": "tresize",
        "text-format": "fontsize   }

block-size-max

width, height

Maximale Dimensionen (Breite und Höhe) des Blocks in pt.
Bei einem leeren Wert wird keine Einschränkung der jeweiligen Dimension vorgenommen. (Nicht anwendbar für ShapeBlocks, da diese im Editor generell nicht skaliert werden können)

Ein Textrahmen darf in der Höhe beliebig erweitert werden, die Breite ist jedoch begrenzt.
{   "block-size-max": {
        "width": 150,
        "height": ""   } }

block-size-min

width, height

Minimale Dimensionen (Breite und Höhe) des Blocks in pt.
Bei einem leeren Wert wird keine Einschränkung der jeweiligen Dimension vorgenommen. (Nicht anwendbar für ShapeBlocks, da diese im Editor generell nicht skaliert werden können)

Ein Textrahmen darf in der Höhe beliebig erweitert werden, die Breite ist jedoch fest definiert (Kombination mit block-size-max).
{      "block-size-max": {
        "width": 150,
        "height": ""   },
    "block-size-min": {
        "width": 150,
        "height": 10  }   }

block-effects
(vsl. ab v3.38)

Auswahl mehrerer Effekte für einen Bildblock.

SVG-Grafik vektorisieren und in CMYK umwandeln
{    "block-effects": "vectorize, color-convert"    }

block-effects-active

Blockeffektidentifier
(Identifier, der in den Effekten im printformer definiert wurde)

Jedem Bildblock kann ein bestehender Block-Effekt zugewiesen werden, im Editor gibt es keine Möglichkeit diesen abzuwählen.

Prägung einer Grafik
{    "block-effects-active": "praegung"    }

block-map-colors

true oder false

Ist dieser Wert true, können bei SVG-Grafiken und Shape-Blocks (die in der Datei oder Form enthaltenen) Farben des Elements einzeln ausgewählt und verändert werden.
Standardwert: true

Eine Form im Template darf angepasst werden, die Farbe soll jedoch unveränderbar sein
{    "block-map-colors": false   }

block-prevent-clipping

true oder false

Muss der Block vollständig auf der Seite oder innerhalb einer CCA liegen?
Standardwert: false

Um zu vermeiden, dass Elemente außerhalb des druckbaren Bereichs liegen (und somit bspw. abgeschnitten werden)
{    "block-prevent-clipping": true   }

block-scaling

size, position, font

Kommaseparierte Liste an erlaubten Skalierungsaktionen (Größe, Position, Schrift)
Ein leerer String entspricht keinen erlaubten Skalierungsaktionen, ist dieses Setting nicht gesetzt werden alle Skalierungsaktionen angewandt.

Werden beim Öffnen des Templates neue Seitendimensionen übergeben, kann durch dieses Setting festgelegt ob die einzelnen Blöcke/Texte entsprechend des neuen Formats skaliert und/oder neu positioniert werden sollen. Bsp.: Größe und Position sollen angepasst werden, der Text jedoch nicht
{    "block-scaling": "size,position"   }

block-scaling-keep-proportions

true oder false

Sollen die Dimensionen des Blocks mit dem kleineren Skalierungsfaktor (zum neuen Seitenformat) skaliert werden?
Standardwert: false

Werden beim Öffnen des Templates neue Seitendimensionen übergeben, kann durch dieses Setting festgelegt dass die Blöcke proportional (mit dem kleineren Skalierungsfaktor) zum neuen Format skaliert werden sollen
{    "block-scaling-keep-proportions": true   }

prevent-white-gaps

Wert in pt

Validierung von Bleed und Safety Distance.
Ist dieses Attribut gesetzt, erscheint im Editor jeweils eine Fehlermeldung sofern ein Element nicht komplett im Beschnitt platziert ist oder zu nah am Rand. Über den Wert lässt sich der gewünschte Sicherheitsabstand zum Rand definieren (die Größe des Beschnitts wird über die IDML definiert).

Bei einer Visitenkarte soll ein Sicherheitsabstand von 2 mm zum Rand eingehalten werden zusätzlich ist für randabfallende Elemente ein Beschnitt nötig, auf den der User hingewiesen werden soll (sofern er ihn nicht berücksichtigt)

{    "prevent-white-gaps" : 6 }

Textblöcke

text-write

true oder false

Kann der textliche Inhalte eines Blocks bearbeitet werden?
Standardwert: true

Vorgegebenes Wording welches nicht verändert werden soll, die Formatierung des Textes darf jedoch angepasst werden
{    "text-write": false   }

text-format

font, fontsize, color, valign,
halign, list, script

Kommaseparierte Liste an erlaubten Formatierungsoptionen.
Ein leerer String entspricht keinen erlaubten Formatierungsoptionen.
Ist dieses Setting nicht gesetzt, sind alle Formatierungsoptionen erlaubt.
(Schriftart, Schriftgröße, Farbe, vertikale Ausrichtung im Textrahmen, Textausrichtung, Aufzählung, script = hochgestellt, normal, tief)

Text darf inhaltlich geändert, jedoch nicht umformatiert werden.
{    "text-format": ""   }

text-select

true oder false

Inhalt des Textrahmens wird bei Aktivierung des Blocks ausgewählt.
Standardwert: false

Der textliche Inhalt eines Blocks soll komplett überschrieben werden
{    "text-select": true   }

text-fit

true oder false

Soll die Schriftgröße des Textes automatisch verringert (auf max. 30%) werden, wenn der Inhalt nicht in den Textrahmen passt.
Standardwert: false

Begrenzter Platz für eine Überschrift, Schriftgröße soll jedoch so groß wie möglich sein.
{    "text-fit": true   }

text-grow

t, b, l, r,

Mit diesem Attribut vergrößert sich der Block automatisch sobald die Textmenge die ursprüngliche Größe des Textrahmen überschreitet.
Der jeweilige Bezugspunkt wird dabei durch den Wert (t = top; b = bottom; l = left; r = right) angegeben (bspw. wächst der Textrahmen nach rechts unten bei der Kombination br).
Sämtliche Kombinationen mit Ausnahme lr und tp sind möglich.

Die Kombination mit dem Attribut text-fit funktioniert nur sofern zusätzlich Werte für block-size-max angegeben werden. (Der Block wächst bis block-size-max erreicht wird, danach greift text-fit wieder.)
Die Blockgröße verkleinert sich durch Textlöschen nicht wieder.

Ein Textblock soll sich max. auf eine Größe von 300x200 Pt vergrößern, sofern weiterer Text eingegeben wird soll sich dann die Schriftgröße verkleinern.
{ "block-size-max": {
"width": 300,
"height": 200},
"text-grow" : "rb",
"text-fit": true
}

text-font-size

min, max

Einschränkungen der Schriftgröße: minimal und maximale Größe in pt
Bei fehlendem Wert wird keine Einschränkung vorgenommen.

minimale Schriftgröße 16 pt und maximale Schriftgröße 20 pt
{   "text-font-size": {
        "max": 20,
        "min": 16   } }

Kombination text-fit mit text-font-size

Werden die Attribute text-font-size und text-fit kombiniert ist zu beachten, dass sich diese Einstellungen auf den kompletten Block beziehen. Die Anpassung geht immer von der kleinsten Größe aus und die Mindest-Schriftgröße darf nicht kleiner als 30% die Default-Größe sein. (Je nach Zeilenabstand kann es zu unterschiedlichen Ergebnissen kommen.)

{
"text-fit": true,
"text-font-size": {
"max": 30, "min": 8
}
}

Assetblöcke (Bild-, PDF-Bloecke)

asset-cut-out

true oder false

Darf der Bildausschnitt verändert werden? (Ist dieser Wert false, wird ein neu eingefügtes Motiv zentriert im Bildrahmen platziert, je nach Format auf die Breite oder Höhe des Rahmens skaliert und kann innerhalb des Bildrahmens weder verschoben noch skaliert werden.)
Standardwert: true

Das eingesetzte Motiv muss komplett sichtbar sein (nichts abgeschnitten)
{    "asset-cut-out": false   }

asset-fill-block

true oder false

Muss der Bildrahmen komplett ausgefüllt werden? (Ist dieser Wert true, wird die kürzere Seite des Motivs auf die Breite bzw. Höhe des Rahmens skaliert und somit ein Teil des Bildes abgeschnitten.)
Standardwert: false
(Bei einer Kombination der Attribute "asset-cut-out": false und "asset-fill-block": true ist das Motiv immer zentriert im Rahmen platziert)

Um leere Flächen im Template zu vermeiden muss der Bildplatzhalter komplett gefüllt werden
{    "asset-fill-block": true   }

asset-replace

true oder false

Darf das Motiv im Bildrahmen ersetzt werden?
Standardwert: true

Der Ausschnitt eines Bildmotivs darf geändert werden, das Motiv an sich jedoch nicht
{    "asset-replace": false   }

use-box

trim, art, bleed, crop, media

Durch dieses Setting kann definiert werden welche Box der PDF beim Platzieren in einen Bildblock verwendet wird (ähnlich Import-Optionen im InDesign)

  • trim = Endformat, Beschnitt entfällt (entspricht InDesign-Import-Option Beschneiden auf Zuschnitt)

  • art = Seiteninhalt einschließlich Leerraum (entspricht InDesign-Import-Option Beschneiden auf Art)

  • bleed = Format inkl. Anschnitt (jedoch ohne Passer- und Schneidemarken)
    (entspricht InDesign-Import-Option Beschneiden auf Anschnitt)

  • crop = Ränder für den Seiteninhalt, die beim Anzeigen oder Drucken verwendet werden

  • media = umfasst alle Rahmen und alle Elemente der PDF (entspricht InDesign-Import-Option Beschneiden auf Zuschnitt/Anschnitt)

Hinweis: Ggf. sind in der PDF-Datei nicht alle Boxen definiert. Aktuell kann use-box nur ohne Default-PDF in der IDML verwendet werden.

Eine PDF-Datei enthält Beschnitt und Schneidemarken, im Editor soll sie jedoch nur im Format inkl. Beschnitt (ohne den zusätzlichen Weißraum für die Schnittmarken) platziert werden

{ "use-box": "bleed" }

Tagspezifische Attribute

Tag

Verwendung

PFBarcode

Attribute Barcodes

Aus Standardtext, mittels Formulareditor oder über eine Datenquelle können Codes (QR, EAN13 oder Code128) generiert werden.

PFPlaceholder

Attribute Placeholder

Text-Platzhalter, um Inhalte über den Formulareditor oder automatisiert über eine externe Datenquelle einfließen zu lassen.

PFContainer

Attribute Container

Container sind Platzhalter für Artikeltemplates. Sie können jeweils mit einem Artikeltemplate befüllt werden, für die über Attribute Einschränkungen vorgenommen werden können.

PFGridContainer

Attribute GridContainer

GridContainer sind Platzhalter die nach einer Raster-Vorgabe (Bsp. 2x3 Einheiten) mit mehreren Artikeltemplates befüllt werden können. Das Raster des Containers wird im InDesign-Dokument durch Tag und Attribut definiert.

PFPage

Attribute PFPage

Anlegen eines Druckbogens (Nutzentemplate), auf den Einzelseiten eines printformer Templates beliebig platziert werden.

PFPrintArea

Attribute PFPrintArea

Anlegen eines Druckbogens (Nutzentemplate), auf dem vordefinierte Bereiche (oder Objekte) eines anderen Templates beliebig platziert werden können.

JSON

allgemeine Einführung in JSON unter json.org

Beispiel für JSON-Inhalt eines BlockSettings Attributs

{
    "block-actions": "move,resize",
    "text-write": false,
    "text-format": "fontsize,color",
	"text-font-size": {
		"min": 5
	},
	"block-size-max": {
		"width": 50,
		"height": 50
	}
}
CODE

Erklärung:
(1) öffnen
(2) der Block darf verschoben und skaliert werden,
(3) der Textinhalt darf nicht verändert werden,
(4) die Schriftgröße und -farbe darf verändert werden,
(5) Schriftgröße (Verschachtelung): öffnen
(6) mindestens 5 pt
(7) schließen,
(8) maximale Blockgröße (Verschachtelung): öffnen
(9) Breite = 50 pt,
(10) Höhe = 50 pt
(11) schließen
(12) schließen

Condition JSON

Mittels des condition-json können Bedingungen für die Anzeige eines Block am selbigen hinterlegt werden.
Sind alle Bedingungen erfüllt wird der Block angezeigt, sind sie nicht erfüllt wird der Block nicht angezeigt. Treten bei der Prüfung der Bedingungen Fehler auf wird der Block jedoch trotzdem angezeigt.

In der IDML wird die condition-json als Wert eines Attributs des (Block-)Tags angegeben, Name: condition-json.

Eine Bedingung besteht aus 2 Werten (left, right) und einem Operator (operator). left und right können entweder einfache Werte sein oder Verweise auf Werte aus einer Datenquelle (Kunden-CSV, CatalogProduct, ...).

Logische Operatoren

  • and (und)

  • or (oder)

  • xor (entweder oder)

Vergleichsoperatoren

Verglichen wird CaseInsensitive mit Strings

  • equal (entspricht)

  • not-equal (enspricht nicht)

  • contain (String enthält)

  • not-contain (String enthält nicht)

  • in (Liste im rechten Wert enthält linken Wert)

  • not-in (Liste im rechten Wert enthält nicht linken Wert)

Verweise müssen dabei folgendermassen kenntlich gemacht werden:

${data-key}
CODE

Beispiele

Textfeld mit drei Placeholdern "Feld1", "Feld2", "Standardtext".
Sind die Felder "Feld1" und "Feld2" beide gefüllt wird der "Standardtext" eingeblendet.
(Das Attribut wird dem "Standardtext"-Placeholder zugewiesen.)

{
  "left": {
      "left": "${Feld1}",
      "operator": "not-equal",
      "right": ""
},
    "operator": "and",
    "right": {
	    "left": "${Feld2}",
	    "operator": "not-equal",
	    "right": ""
    }
}
CODE

Textfeld mit drei Placeholdern "Feld1", "Feld2", "Standardtext".
Sind die Felder "Feld1" und "Feld2" beide gefüllt wird der "Standardtext" ausgeblendet.
(Das Attribut wird dem "Standardtext"-Placeholder zugewiesen.)

{
    "left": {
	    "left": "${Feld1}",
	    "operator": "equal",
	    "right": ""
    },
    "operator": "or",
    "right": {
	    "left": "${Feld2}",
	    "operator": "equal",
	    "right": ""
    }
}
CODE


Wert aus der Datenquelle mit data-key 1|qualitaetskennzeichen enthält den Wert DB

{
	"left": "${1|qualitaetskennzeichen}",
	"operator": "contain",
	"right": "DB"
}
CODE

Wert aus der Datenquelle mit DataKey 1|qualitaetskennzeichen enthält einen der Werte aus der Liste des rechten Operanden

{
    "left": "${1|qualitaetskennzeichen}",
    "operator": "in",
    "right": ["IA/DV", "IA/DD", "IA", "C%", "EG"]
}
CODE

Die Werte von 1|aktionspreis und 2|aktionspreis sind nicht gleich, oder die Werte von 1|inhaltsmenge und 2|inhaltsmenge sind gleich.

{
	"left": {
		"left": "${1|aktionspreis}",
		"operator": "not-equal",
		"right": "${2|aktionspreis}"
	},
	"operator": "or",
	"right": {
		"left": "${1|inhaltsmenge}",
		"operator": "equal",
		"right": "${2|inhaltsmenge}"
	}
}
CODE