printformer Block-Attribute
Durch Block-Attribute/-Settings werden die Bearbeitungsmöglichkeiten einzelner Blocks für den printformer Editor definiert
Sollen Settings oder Restriktionen Templateübergreifend (für alle bestehenden oder vom User hinzugefügte Blöcke) eingesetzt werden, ist dies über BlockSetting Presets und Block Restriktionen, die direkt in der Admin angelegt werden möglich.)
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 | Block wird nur angezeigt wenn Bedingungen erfüllt sind. | ||
settings | Einschränkung der Editierbarkeit von Blöcken (bspw. keine verschieben eines Blocks möglich) | ||
tags | Ein oder mehrere Tags (kommasepariert).
| Container-Template: | |
content-identifier | Verwendung beim Template Typ Gruppe oder Individualisierbares Bundle: | 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. | |
media-hunter | external-url, custom-attribute, catalog-product-media, system-media | (Werte = Quellen: externer Link, Benutzerdefiniertes Attribut, Artikeltemplate, Systemmedien) | 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 | 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 | 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. | |||
Alle Blöcke | |||
block-disable-interactions | true oder false | Ist dieser Wert true wird jegliche Interaktion mit dem Block und seinem Inhalt unterbunden. | Blöcke mit Text-Platzhaltern, in denen außer dem Textinhalt nichts verändert werden soll. |
block-actions | delete, move, vmove, hmove, | (= löschen, verschieben, vertikal verschieben, horizontal verschieben, skalieren*, drehen, duplizieren, Transparenz, Ebene) | 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. |
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. | Bei einem Textblock soll nur die Schriftgröße veränderbar sein, der Abstand zum unterhalb des Blocks liegenden Objekts ist fest definiert. | |
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. | Eine Form im Template darf angepasst werden, die Farbe soll jedoch unveränderbar sein |
block-prevent-clipping | true oder false | Muss der Block vollständig auf der Seite oder innerhalb einer CCA liegen? | Um zu vermeiden, dass Elemente außerhalb des druckbaren Bereichs liegen (und somit bspw. abgeschnitten werden) |
block-effects | Auswahl mehrerer Effekte für einen Bildblock. | SVG-Grafik vektorisieren und in CMYK umwandeln | |
block-effects-active | Blockeffektidentifier | Jedem Bildblock kann ein bestehender Block-Effekt zugewiesen werden, im Editor gibt es keine Möglichkeit diesen abzuwählen. | Prägung einer Grafik |
prevent-white-gaps | Wert in pt | Validierung von Bleed und Safety Distance. | 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 } |
block-scaling | size, position, font | Kommaseparierte Liste an erlaubten Skalierungsaktionen (Größe, Position, Schrift) | 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-keep-proportions | true oder false | Sollen die Dimensionen des Blocks mit dem kleineren Skalierungsfaktor (zum neuen Seitenformat) skaliert werden? | 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 |
Textblöcke | |||
text-write | true oder false | Kann der textliche Inhalte eines Blocks bearbeitet werden? | Vorgegebenes Wording welches nicht verändert werden soll, die Formatierung des Textes darf jedoch angepasst werden |
text-format | font, fontsize, font-family, font-style, color, valign, | Kommaseparierte Liste an erlaubten Formatierungsoptionen. | Im Text dürfen Hervorhebungen vorgenommen werden, ansonsten darf jedoch nichts umformatiert werden |
text-select | true oder false | Inhalt des Textrahmens wird bei Aktivierung des Blocks ausgewählt. | Der textliche Inhalt eines Blocks soll komplett überschrieben werden |
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. Kann auch in Kombination mit der BlockRestriktion | Begrenzter Platz für eine Überschrift, Schriftgröße soll jedoch so groß wie möglich sein. |
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. Die Kombination mit dem Attribut | 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. |
Assetblöcke (Bild-, PDF-Blöcke) | |||
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)
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" } |
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.) | Das eingesetzte Motiv muss komplett sichtbar sein (nichts abgeschnitten) |
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.) | Um leere Flächen im Template zu vermeiden muss der Bildplatzhalter komplett gefüllt werden |
asset-replace | true oder false | Darf das Motiv im Bildrahmen ersetzt werden? | Der Ausschnitt eines Bildmotivs darf geändert werden, das Motiv an sich jedoch nicht |
Block-Restrictions | |||
Beim Anlegen eines Block-Setting-Attributs wird als Name immer "restrictions" eingegeben. Die Restriktionen block-size-max/min; text-font-size wurden in einer früheren printformer Version als Settings am Block hinterlegt. Durch die nun bestehende Trennung von settings und restrictions kommt es jedoch nicht zu Anpassungsbedarf. IDML-Dateien in denen diese Restriktionen als Settings hinterlegt sind funktionieren weiterhin. | |||
Alle Blöcke | |||
block-size-max | width, height | Maximale Dimensionen (Breite und Höhe) des Blocks in pt. | Ein Textrahmen darf in der Höhe beliebig erweitert werden, die Breite ist jedoch begrenzt. |
block-size-min | width, height | Minimale Dimensionen (Breite und Höhe) des Blocks in pt. | Ein Textrahmen darf in der Höhe beliebig erweitert werden, die Breite ist jedoch fest definiert (Kombination mit block-size-max). |
Textblöcke | |||
text-font-size | min, max | Einschränkungen der Schriftgröße: minimal und maximale Größe in pt | minimale Schriftgröße 16 pt und maximale Schriftgröße 20 pt |
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.) | { | |
Assetblöcke (Bild-, PDF-Blöcke) | |||
provider | userMedia, systemMedia, media | Durch diese Restriktion kann definiert werden aus welcher Quelle Assets in einen Bildblock geladen werden können (auschließlich Systemmedien oder auch eigene). | Für einen Bildblock steht eine Auswahl an Bildmotiven zur Verfügung, jedoch soll der User keine eigenen Motive verwenden dürfen. { "provider": ["userMedia"] } |
types | image (Bilder), graphics (SVGs), pdf | Dadurch kann (unabhängig von den Medien-Restriktion der allgemeinen System-Einstellungen) festgelegt werden welche Art von Bilder (Dateiformat) in einen Bildblock geladen werden dürfen. | In einen Bildblock dürfen nur vektorisierte Logos eingefügt werden |
dpi | error, perfect | Hier kann die Mindest-Auflösung (error) in dpi sowie eine empfohlene Auflösung (perfect) für einen Bildblock festgelegt werden. | Mindest-Auflösung beträgt 150 dpi, empfohlen werden 200 |
Tagspezifische Attribute | |||
Tag | Verwendung | ||
---|---|---|---|
PFBarcode | |||
Aus Standardtext, mittels Formulareditor oder über eine Datenquelle können Codes (QR, EAN13 oder Code128) generiert werden. | |||
PFPlaceholder | |||
Text-Platzhalter, um Inhalte über den Formulareditor oder automatisiert über eine externe Datenquelle einfließen zu lassen. | |||
PFContainer | |||
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 | |||
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 | |||
Anlegen eines Druckbogens (Nutzentemplate), auf den Einzelseiten eines printformer Templates beliebig platziert werden. | |||
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
}
}
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}
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": ""
}
}
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": ""
}
}
Wert aus der Datenquelle mit data-key 1|qualitaetskennzeichen
enthält den Wert DB
{
"left": "${1|qualitaetskennzeichen}",
"operator": "contain",
"right": "DB"
}
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"]
}
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}"
}
}