Spezielle Auszeichnung-Tags in Html zur Steuerung von Dokumenten
Soll ein generierter Html-Output in ein Word oder PDF -Dokument konvertiert werden, dann sind die Möglichkeiten zur Ausgabensteuerung begrenzt.
Um z.B. Header und Footer korrekt zu erstellen, haben wir zusätzliche Html-Tags eingeführt. Nachfolgend finden Sie eine Auflistung aller Zusatz-Tags.
Intern heißt dieser Datentyp "DocumentParts", was es auch gut trifft. Hiermit können die Bestandteile eines Dokumentes beschrieben werden - Header + Body + Footer.
documentPage
Hier sind Angaben zu Seitenformat und Rändern möglich.
Beispiel:
<documentPage>
{
"marginRight": 2,
"marginLeft": 2.5,
"paperFormat": "A3"
}
</documentPage>
Folgende Parameter können verwendet werden:
- paperFormat: A6,A5,A4,A3,A2,Letter
- orientation: Portrait, Landscape
- marginTop: Rand oben in cm (Standard: 2cm)
- marginBottom: Rand unten in cm (Standard: 2cm)
- marginRight: Rand rechts in cm (Standard: 2cm)
- marginLeft: Rand links in cm (Standard: 2cm)
- headerOffset: Abstand zwischen Dokumentoberkante und Header in cm (nur wenn Header definiert) (Standard: 0 cm)
- footerOffset: Abstand zwischen Footer und Dokumentunterkante in cm (nur wenn Footer definiert) (Standard: 0 cm)
- showPositionHelper: true/false (Standard) - Hilfe beim Entwickeln der Vorlagen, stellt Shapes mit Rand und Hintergrundfarbe dar
documentStyle
CSS-Angaben (ohne umschließendes Style-Attribut), welche dann an alle documentXXX-Blöcke übernommen werden.
Achtung: Gilt nur für in documentXXX-Blöcke eingeschlossenes Html, der Body muss also auch in documentBody definiert sein, damit diese Styles dort ankommen.
documentHeaderFirst
Der Inhalt dieses Tags wird als Html interpretiert und als Header auf der ersten Seite des Docx-Dokumentes ausgegeben.
documentHeaderPrimaryOrOdd
Header für alle außer der ersten Seite
documentHeaderEven
Header für Seiten mit gerader Seitennummer, wenn definiert, ist documentHeaderPrimaryOrOdd nur noch für die ungeraden Seiten zuständig.
documentFooterFirst
Footer für die erste Seite des Docx-Dokumentes
documentFooterPrimaryOrOdd
Footer für alle außer der ersten Seite
documentFooterEven
Footer für gerade Seiten, wenn definiert, ist documentFooterPrimaryOrOdd nur noch für die ungeraden Seiten zuständig.
Beispiel:
<documentFooterFirst>
<div class="footer">
<left>Seite {PAGE} von {NUMPAGES}<left>
</div>
</documentFooterFirst>
documentBody
Der Hauptinhalt des Docx-Dokumentes, welcher je nach Länge auf die resultierende Anzahl von Docx-Seiten umgebrochen wird.
documentShape
Kann nur innerhalb eines documentHeader... oder documentFooter... definiert werden! Mit diesem Tag kann man einen Textblock innerhalb der Seite definieren, der absolut positioniert wird aber von der Sichtbarkeit an den Header/Footer gekoppelt ist, in dessen Kontext er definiert ist. Hinweis: Der Textblock muss NICHT im Bereich des Headers/Footers liegen sondern kann überall auf der Seite positioniert werden.
Achtung: Während in der PDF-Ausgabe Shapes überlappend dargestellt werden, werden sie in Word neben-/untereinander ausgegeben. Deshalb sollten sie NIE überlappend definiert werden!
Hinweis: Lücken zwischen den Shapes werden mit dem Fließtext des Dokumentbody ausgefüllt. Setzt man z.B. einen Header aus einzelnen Shapes zusammen, sollte man die Shapes so eng platzieren, dass kein Platz mehr für Text dazwischen bleibt.
Argumente
- x - X-Position in der Seite in mm (Standard: 0)
- y - Y-Position in der Seite in mm (Standard: 0)
- width - Breite des Textblocks in mm (Standard: 100)
- height - Höhe des Textblocks in mm (Standard: 100)
- fill-color - Füllfarbe der Form (Standard: transparent) in Html-Farbangabe
- line-color - Linienfarbe (Standard: transparent) in Html-Farbangabe
- line-width - Linienbreite in Pixeln in mm (Standard: 1)
Standardeinheit (ohne Angabe) ist Millimeter. Die Einheit kann auch direkt an der Zahl angegeben werden. Erlaubt ist:
- mm
- cm
Technisch wird hier ein Textblock als Docx-Shape, erstellt im Kontext des entsprechenden Headers, angelegt.
Der Text des documentBody umfließt diesen Block.
Beispiel:
<documentHeaderFirst>
<documentShape x="150" y="50" width="55" height="150">
<p document_softbreaks="1">
Bearbeitet von
<b>{{BO.Me.RealName}}</b>
Durchwahl (Vorwahl) Amtsnr.
<b>{{BO.Me.TelephoneNumber}}</b>
E-Mail
<b>{{BO.Me.EMailAddress}}</b>
Ihr Zeichen, Ihre Nachricht vom
<b>{{BO.Inq.InquiryState?.Eingereicht | date.to_string '%d.%m.%Y' ?? "unbekannt"}}</b>
Mein Zeichen (Bei Antwort angeben)
<b>{{BO.Inq.PiBOID}}</b>
Datum
<b>{{$BriefkopfDatum | date.to_string '%d.%m.%Y'}}</b>
</p>
</documentShape>
</documentHeaderFirst>
Verwendung findet dies z.B. wenn eine Seitenleiste mit Informationen nicht im Header oder Footer sondern am linken oder rechten Rand der Seite angezeigt werden soll.
Steueranweisungen
Folgende Steueranweisungen sind zusätzlich in der Ausgabe erlaubt:
Seitenumbruch:
{PAGE_BREAK}
Zuletzt geändert: 24.03.2025 06:46:56 (erstmals erstellt 21.04.2025) // Alias: ""