TemplateDesigner: Redesign des TemplateSkripts
This commit is contained in:
@@ -0,0 +1,72 @@
|
||||
# Templating-Layoutformat 3
|
||||
|
||||
Layoutformat 3 trennt feste Seitengestaltung von fortlaufendem Dokumentinhalt.
|
||||
|
||||
## Grundaufbau
|
||||
|
||||
```text
|
||||
PAGE 210 297 mm
|
||||
#pragma format-version 3
|
||||
|
||||
#pragma page-template first
|
||||
IMG briefkopf.png 0 0 210 55
|
||||
#pragma flow-slot body x=20 y=90 w=170 h=175
|
||||
#pragma end-page-template
|
||||
|
||||
#pragma page-template continuation
|
||||
IMG folgeseite.png 0 0 210 25
|
||||
#pragma flow-slot body x=20 y=30 w=170 h=235
|
||||
#pragma end-page-template
|
||||
|
||||
#pragma content-flow body
|
||||
TEXTBOX $Brieftext size=11 overflow=continue
|
||||
TEXT "Mit freundlichen Grüßen" gap=8 keep-with-next=true
|
||||
TEXT $LehrerName gap=3 italic=true
|
||||
#pragma end-content-flow
|
||||
```
|
||||
|
||||
## Seitentypen
|
||||
|
||||
- `first` ist verpflichtend und gestaltet die erste Seite.
|
||||
- `continuation` gestaltet alle Folgeseiten. Fehlt dieser Typ, wird `first` wiederholt.
|
||||
- Elemente innerhalb eines `page-template` sind absolut positioniert und beeinflussen den Textfluss nicht.
|
||||
- Jede Seitenvorlage beschreibt ausschließlich ihre eigenen Elemente und Slots.
|
||||
|
||||
## Flow-Slots und Content-Flows
|
||||
|
||||
Ein `flow-slot` definiert eine Bounding Box innerhalb einer Seitenvorlage. Ein gleichnamiger
|
||||
`content-flow` liefert den fortlaufenden Inhalt. Ist `continuation` vorhanden, benötigt jeder
|
||||
Content-Flow auf `first` und `continuation` einen gleichnamigen Slot.
|
||||
|
||||
Elemente in einem Content-Flow werden ohne X/Y-Koordinaten angegeben:
|
||||
|
||||
```text
|
||||
TEXT "Absatz" size=11 gap=4
|
||||
TEXTBOX $MehrzeiligerText size=11 overflow=continue
|
||||
TABLE $Zeilen size=9
|
||||
CHART $Werte type=bar h=50
|
||||
IMG unterschrift.png w=45 h=18
|
||||
```
|
||||
|
||||
- `gap` ist der Abstand zum Vorgänger in der Seiteneinheit.
|
||||
- `keep-with-next=true` hält das Element nach Möglichkeit mit seinem Nachfolger zusammen.
|
||||
- Text und Tabellen dürfen automatisch auf Folgeseiten weiterlaufen.
|
||||
|
||||
## Designer
|
||||
|
||||
Der Tab **Seiten & Flows** verwaltet Seitentypen, Content-Flows und Flow-Slots. Der visuelle
|
||||
Editor zeigt den Slot des gewählten Seitentyps violett gestrichelt an. Er kann wie ein anderes
|
||||
Element verschoben und skaliert werden. Die Vorschauseiten-Auswahl zeigt alle tatsächlich aus den
|
||||
Beispieldaten erzeugten Dokumentseiten; **Seitentyp anzeigen** rendert stattdessen die feste
|
||||
Gestaltung der gewählten Seitenvorlage.
|
||||
|
||||
Beim Öffnen eines alten absoluten Layouts bettet der Designer dessen Elemente unverändert in den
|
||||
Seitentyp `first` ein und ergänzt leere `body`-Slots sowie einen leeren Content-Flow. Erst beim
|
||||
anschließenden Speichern wird das migrierte Layout in das Paket geschrieben.
|
||||
|
||||
## Aktuelle Grenzen
|
||||
|
||||
Die erste Renderer-Ausbaustufe unterstützt einen mit Inhalt gefüllten, paginierenden Content-Flow.
|
||||
Weitere Slots und leere Flows können bereits gestaltet werden. Beim primären Flow müssen X-Position
|
||||
und Breite auf erster und Folgeseite noch identisch sein; Y-Position und Höhe dürfen sich unterscheiden.
|
||||
Diese Einschränkung wird beim Rendern mit einer verständlichen Fehlermeldung geprüft.
|
||||
Reference in New Issue
Block a user