Vorlageneditor
Docs/Designvorlagen

Lange Tabellen und Paginierung

Lassen Sie lange Tabellen über Blätter fließen, halten Sie kurze Blöcke zusammen und wählen Sie, wo ein neuer Abschnitt beginnt.

5 Minuten Lesezeit5 Abschnitte
Auf dieser Seite

Während Sie ein Layout erstellen, möchten Sie möglicherweise, dass einige Inhalte kontinuierlich fließen, ein Block zusammenbleibt oder ein neuer Teil auf einem eigenen Blatt beginnt. Mit Tembuilder können Sie diese Ansätze innerhalb derselben Vorlage kombinieren.

Legen Sie das Paginierungsverhalten für jeden Abschnitt unter Config → Seitenumbrüche fest. In diesem Handbuch werden die Optionen, langen Tabellen und CSS-Regeln behandelt, die sich auf Seitenumbrüche auswirken können.

1. Öffnen Sie die Seitenumbrucheinstellungen eines Abschnitts

Wählen Sie den Abschnitt in Structure aus und öffnen Sie dann Config → Seitenumbrüche. Es gibt zwei Steuerelemente:

  • Zusammenhalten: ob der Abschnitt auf PDF-Blätter aufgeteilt werden kann.
  • Seitenumbruch: ob ein Umbruch vor oder nach dem Abschnitt erzwungen werden soll.

Die Steuerungen sind unabhängig. Ein Abschnitt kann auf einem neuen Blatt beginnen und sich dennoch über mehrere Blätter erstrecken, wenn sein Inhalt lang ist.

Beginnen Sie bei einer Tabelle oder Liste mit einer variablen Anzahl von Zeilen mit Zusammenhalten: Aus und Seitenumbruch: Keine, um den Inhalt fließen zu lassen.

Structure → Rechnungspositionen → Config
STRUKTUR
⌄ Rechnung
Rechnungsparteien
Rechnungspositionen
Abrechnung
HTMLCSSPropsConfig
Seitenumbrüche
Zusammenhalten
AusEin
Seitenumbruch
KeineVorherNachherBeides
Structure → Abschnitt → Config → Seitenumbrüche

2. Halten Sie einen Inhaltsblock zusammen

Verwenden Sie Zusammenhalten: Ein für einen kurzen Abschnitt, der erhalten bleiben soll, z. B. eine Signatur, Zahlungsdetails oder eine Zusammenfassung. Wenn der verbleibende Platz zu klein ist, wird der Abschnitt auf das nächste Blatt verschoben.

Verwenden Sie Aus für eine lange Tabelle oder Liste, die über mehrere Blätter hinweg fortgesetzt werden muss. Wenn Sie die gesamte Tabelle zusammenhalten, kann auf dem vorherigen Blatt eine große Lücke entstehen.

Die Einstellung gilt für den gesamten Abschnitt. Um nur die Signatur zusammenzuhalten, machen Sie daraus einen separaten Abschnitt, anstatt „Ein“ für einen Abschnitt zu aktivieren, der die gesamte Servicetabelle enthält.

Zusammenhalten
AusEin
Aus
GENEHMIGUNG
1
Unterschrift
2
Ein
1
GENEHMIGUNGUnterschrift
2
Ein → Signaturabschnitt zusammen auf das nächste Blatt verschieben

3. Wählen Sie, wo ein neuer Abschnitt beginnen soll

Verwenden Sie Seitenumbruch, um Dokumentteile zu trennen, z. B. um die Bedingungen auf einem neuen Blatt nach einer Rechnung zu beginnen.

Option Verhalten
Keine Erzwingen Sie keine Pause vor oder nach dem Abschnitt.
Vorher Beginnen Sie diesen Abschnitt auf einem neuen Blatt, wenn der Inhalt davor steht.
Nach Beginnen Sie den nächsten Abschnitt auf einem neuen Blatt.
Beide Pause vor und nach dem Abschnitt, wenn auf beiden Seiten Inhalt vorhanden ist.

Beide beschränkt den Abschnitt nicht auf ein Blatt. Zusammenhalten steuert weiterhin die Aufteilung innerhalb des Abschnitts.

Ein Umbruch an einer vorhandenen Seitengrenze fügt kein leeres Blatt hinzu. Beispielsweise wird bei „Vorher“ im ersten Abschnitt kein leeres Blatt vor dem Dokument eingefügt.

Seitenumbruch
KeineVorherNachherBeides
Inhalt
1
Bedingungen
2
Vorher → Beginnen Sie den Abschnitt auf einem neuen Blatt

4. Lassen Sie lange Tabellen blattübergreifend weiterlaufen

Stellen Sie Zusammenhalten: Aus für den Abschnitt ein, der die Tabelle enthält. Verwenden Sie <thead> for the header and <tbody> for data rows. The <thead> Die Kopfzeile wird wiederholt, wenn die Tabelle auf einem anderen Blatt fortgesetzt wird.

Generieren Sie für Servicezeilen Tabelleninhalte aus params.lineItems:

<table>
  <thead>
    <tr><th>Service</th><th>Quantity</th><th>Amount</th></tr>
  </thead>
  <tbody>
    {{#each params.lineItems}}
      <tr>
        <td>{{ description }}</td>
        <td>{{ qty }}</td>
        <td>{{ amount }}</td>
      </tr>
    {{/each}}
  </tbody>
</table>

Um Summen nach der letzten Tabellenzeile zu platzieren, platzieren Sie sie hinter der Tabelle oder im folgenden Abschnitt mit Seitenumbruch: Keine. Um die Summen beizubehalten, aktivieren Sie „Zusammenhalten“ nur im Abschnitt „Summen“.

Weitere Informationen zur Übergabe von Listen an eine Vorlage finden Sie unter Arrays und Objekte.

Zusammenhalten: AusSeitenumbruch: Keiner
SERVICEMENGE
Dienst 11
Dienst 21
Dienst 31
Service 41
Service 51
1
SERVICEMENGE
Service 61
Service 71
Service 81
Service 91
Service 101
2
Die Tabelle fährt mit dem nächsten Blatt fort, wobei die Kopfzeile wiederholt wird

5. Wenn Inhalte abgeschnitten oder als Block verschoben werden

Diese Symptome deuten normalerweise auf unterschiedliche Einstellungen hin:

Symptom Wo suchen?
Ein ganzer Abschnitt wird zum nächsten Blatt verschoben und hinterlässt eine große Lücke Die Zusammenhalten-Einstellung des Abschnitts und break-inside für seinen Container.
Letzte Zeilen verschwinden am Rand eines Containers Die Container CSS height, max-height und overflow.
Ein Abschnitt beginnt trotz des verfügbaren Platzes immer auf einem neuen Blatt Sein Seitenumbruch: Vorher/Beide, Nachher im vorherigen Abschnitt oder CSS break-before.

Zum Beispiel ein .items-Container mit fester Höhe und overflow: hidden klammert alles ab, was über seine Box hinausgeht. Wenn es mit der Liste wachsen soll, entfernen Sie die Höhenbeschränkung und lassen Sie sichtbare Inhalte zu, wie unten dargestellt.

Config steuert den Abschnitt selbst. Die darin enthaltenen Elemente können immer noch ihre eigenen CSS-Break-Regeln haben. Überprüfen Sie diese daher, wenn eine Änderung von Config das Ergebnis nicht ändert.

HTMLCSSPropsConfig
Container mit fester Höhe
.items {
height: 120px;
overflow: hidden;
}
Container in Inhaltsgröße
.items {
height: auto;
overflow: visible;
}
Abschnitt CSS → Passen Sie den Container an, der den Inhalt einschränkt oder ausschneidet

Dokumentation durchsuchen