← Gesamte Dokumentation
Seitenlayout

Seitenlayout: Seitenumbruch und juristische Nummerierung

Zwei Plugins für dokumentartige Arbeit – Verträge, Spezifikationen, Berichte, Richtlinien. Eine live seitenweise Ansicht, die echte Seitengrenzen, Kopf- und Fußzeilen und Seitenzahlen zeigt, und eine mehrstufige juristische Nummerierung (1, 1.1, 1.1.1) für Dokumente mit nummerierten Klauseln. Beide sind in der Standardlizenz enthalten. Wie ein durchgehendes DOM auf echte Papiermaße abgebildet wird, beschreibt wie die seitenweise Ansicht in einem Browser-Editor funktioniert; die Nummerierung behandelt juristische Nummerierung mit CSS-Countern.

Seitenweise Ansicht

Die Seitenansicht stellt den bearbeitbaren Bereich als Papierspalte in echter Seitenbreite dar und zeichnet für jede Seite eine Grenze, eine Seitenzahl und optional Kopf- und Fußzeile – die Drucklayout-Ansicht, wie sie ein Textverarbeitungsprogramm bietet. Sie ist rein darstellend: Nichts, was sie zeichnet, wird in Ihren Inhalt geschrieben, und das gespeicherte HTML ist Byte für Byte identisch, ob die Seitenansicht ein- oder ausgeschaltet ist.

Laden Sie das Plugin nach dem Editor und schalten Sie es dann über Ihre eigene Oberfläche um:

<script src="richtexteditor/rte.js"></script>
<script src="richtexteditor/plugins/pagination.js"></script>

<script>
  var editor = new RichTextEditor("#editor");

  editor.setPageView(true);       // turn page view on
  editor.togglePageView();        // flip it
  editor.isPageView();            // -> true | false
  editor.getPageCount();          // -> number of pages
  editor.getPageGeometry();       // -> { pageWidth, pageHeight, margins..., contentHeight }
</script>

Seiten brechen an Blockgrenzen um, sodass ein Absatz, eine Tabellenzeile oder ein Bild nie in der Mitte geteilt wird. Ein erzwungener Umbruch – das, was der Symbolleistenbefehl insertpagebreak einfügt – beginnt immer eine neue Seite, genau wie beim Export.

Seiteneinrichtung

Die Maße stammen aus der Seiteneinrichtung des Dokuments selbst, wenn Ihre App eine mitliefert, sodass das, was Sie am Bildschirm sehen, dem entspricht, was der PDF- und der Word-Export erzeugen. Sie können sie auch zur Laufzeit setzen:

editor.setPageSetup({
  format: "Letter",          // A4 | Letter | Legal | A3 | A5 | Tabloid
  orientation: "portrait",   // portrait | landscape
  margins: { top: 1, right: 1, bottom: 1, left: 1 }   // inches, or "25mm" / "2cm" / "72pt" / "96px"
});
KonfigurationsoptionStandardwertZweck
paginationEnabledfalseMit eingeschalteter Seitenansicht starten.
pageFormat"A4"Papierformat, wenn das Dokument keine Seiteneinrichtung mitbringt.
pageOrientation"portrait"Hoch- oder Querformat.
pageMargins1in all roundRänder, in Zoll oder einer beliebigen CSS-Länge.
paginationShowPageNumberstrueDas Seitenzahl-Badge auf jeder Seite zeichnen.
paginationShowPageCounttruePage 3 of 12 oder Page 3.

Kopf- & Fußzeilen

Das HTML für Kopf- und Fußzeile wiederholt sich auf jeder Seite und unterstützt die Platzhalter {page} und {total}:

editor.setPageSetup({
  headerHtml: "Master Services Agreement &mdash; Acme Corp",
  footerHtml: "Page {page} of {total} &middot; Confidential"
});