Robert Pagels
 - 20. November 2019

Seitenumbrüche bei Adobe Forms

Seitenumbrüche in Formularen sind aus meiner Sicht ein oft unterschätztes Thema. Gerade bei Adobe Forms werden dem Anwender eine Menge Möglichkeiten gegeben, wie der Inhalt eines Formulars sich auf den verschiedenen Masterseiten entfaltet. In diesem Blogbeitrag will ich Ihnen einerseits die wichtigsten Einstellungsmöglichkeiten bei Seitenumbrüchen erklären und zusätzlich noch auf die praktischen Anwendung von bedingten Seitenumbrüchen mit einem Beispiel eingehen.

E-Book: SAP Adobe Forms

SAP Adobe Forms ist der zukünftige Standard für Druckformulare, denn es ermöglicht effizientes und gewinnbringendes Arbeiten.

Aus eigenen Erfahrungen kenne ich die Herausforderungen bei der Arbeit mit Formularen nur zu gut. Häufig verhalten sich Texte am Ende von Seiten „komisch“, brechen falsch um oder Laufen über den Footer hinaus. Auch Tabellen sind dabei immer ein heikles Thema: Wie verhält sich eine Tabelle über zwei oder mehr Seiten? Soll auf jeder neuen Seite der Tabellenkopf zu sehen sein? Soll eine Tabellenzeile immer nur als ganzes umbrechen? Häufig machen einem zu simple Testdaten das Leben schwer, da beispielsweise Testbelege nur eine Position haben, um zu sehen, „ob das Formular überhaupt raus kommt“.  Das birgt immer die Gefahr, dass es im Formular gar nicht zum Seitenumbruch kommt und das Verhalten keine Beachtung findet.

Zentrale Einstellungen in Adobe Forms

Die prominenteste Schaltfläche zum Thema Seitenbrüche im Adobe LiveCycle Designer ist sicherlich Seitenumbrüche im Inhalt zulassen im Reiter Objekt.

Für TextfelderFür Teilformulare

Dieser findet häufig keine Beachtung bei der Erstellung eines Layouts. Dies hat zur Folge, dass Elemente falsch oder unerwartet umbrechen. Meine Empfehlung für diese Schaltfläche: Prinzipiell sollte sie immer angehakt sein, außer für Elemente (Textfelder, Teilformulare) die bei einem Seitenumbruch nicht getrennt werden sollen.

Häufige Fehlverhalten entstehen dadurch, dass schon für die Designseite der Seitenumbruch „verboten“ wird. Allgemein sollte auch immer nur das spätmöglichste Element den Seitenumbruch verhindern. Das heißt, das Element, welches am weitesten unten in der Hierarchie des Designers steht. Damit gewährleisten Sie, dass umschließende Teilformulare korrekt den Seitenumbruch durchführen.

Der Reiter Paginierung

Für Teilformulare und Tabellen werden die Möglichkeiten, den Seitenumbruch zu gestalten, noch komplexer. Für Teilformulare (die ab hier als Beispiel stehen sollen) kann vorgegeben werden, wo es platziert werden soll. Somit können Sie vorgeben, auf welcher Designseite oder auf welchem Inhaltsbereich sich das Teilformular starten soll. Außerdem kann auch angegeben werden, ob ein Umbruch nach dem Teilformular passieren soll und wohin das nachfolgende Element springen soll.

Einstellungsmöglichkeiten

Im folgenden will ich nochmal im Detail die Einstellungsmöglichkeiten im Reiter Paginierung erklären:

  1. Platzieren: Hier können Sie den Beginnpunkt für Ihr Teilformular auswählen. Standardmäßig platziert sich ein Teilformular unmittelbar nach seinem Vorgänger in der Hierarchie. Wenn gewünscht, kann das Teilformular aber auch zu Beginn einer Seite oder eines Inhaltsbereiches Ihrer Wahl beginnen.
  2. Nach: Hierbei können sie definieren, was nach der Darstellung des Teilformulars geschehen soll. Sie beschreiben damit das Verhalten des nächsten Elements in der Hierarchie, also dem nächsten anzuzeigenden Element. Auch hier wird standardmäßig vorgegeben, dass es nahtlos weitergehen soll. Genauso können Sie aber einstellen, dass nach dem Teilformular auf eine neue Masterseite oder einen anderen Inhaltsbereich umgebrochen werden soll
  3. Bedingte Umbrüche: Sollten Ihnen die Punkte 1 und 2 nicht weiterhelfen bei Ihren Formatierungswünschen, können hier Umbrüche mit Logik und Abhängigkeiten definiert werden. Mehr dazu im nächsten Abschnitt.
  4. Überlauf: Haben Sie eine Tabelle oder ein Teilformular was oft sehr groß wird und immer auf dem gleichen Inhaltsbereich angezeigt werden muss? Dann sind Sie bei dieser Einstellung genau richtig. Hier geben Sie für das Teilformular an, wohin es umbrechen soll, wenn es das Ende eines Inhaltsbereiches, also das Ende der Seite erreicht. Ähnlich wie bei den Punkten 1 und 2 können Sie hier Masterseiten, Inhaltsbereiche oder einfach die Folgeseite auswählen.
  5. Überlaufkopfbereich: Sie wollen, dass der Kopf Ihrer Tabelle auf jeder Seite mit Tabelleninhalt erscheint? Dann müssen Sie hier nur das entsprechende Teilformular auswählen, welches den Tabellenkopf enthält. Für dieses ausgewählte Teilformular exisitieren noch besondere Bedingungen, die beachtet werden müssen. Mehr dazu finden Sie in diesem Blogartikel meines Kollegen.
  6. Überlauffußbereich: Die selbe Einstellungsmöglichkeit wie für den Kopf der Tabelle, nur für die Fußzeile. Besonders wichtig, wenn beispielsweise Zwischensummen angezeigt werden sollen.

Praxisbeispiel für Paginierung

Erst vor ein paar Wochen hatte ich die Möglichkeit von diesem mächtigen Werkzeug der Paginierung Gebrauch zu machen. Die Anforderung war ein Dokument, welches Informationen sowohl im Hoch- als auch im Querformat drucken sollte. Einerseits Deckblattdaten zu Beginn im Hochformat und anschließend eine Tabelle mit vielen Feldern im Querformat. Dabei war die Herausforderung, dass die Informationen auf der Hochformat-Seite über mehr als eine Seiten reichen können und dabei nicht auf die Querseite umbrechen sollten.

Die Lösung war durch die gegebenen Einstellungsmöglichkeiten der Paginierung denkbar simpel: Ich erstelle zunächst zwei Masterseiten, eine im Hoch- und eine im Querformat. Beide bekamen einen entsprechenden Inhaltsbereich in dem sich die Inhalte dynamisch ausbreiten konnten. Passend dazu erstellte ich zwei Designseiten: Eine für die Informationen zum Deckblatt und die andere für die Tabelle auf der Querformatseite.

Nun musste ich die entsprechenden Designseiten nur korrekt Platzieren und deren Überlauf steuern. Das erreichte ich durch das Auswählen der entsprechenden Inhaltsbereiche unter Platzieren und Überlauf. Am Ende musste ich nur darauf achten, dass beide Masterseiten mehr als einmal auftreten können und die Anforderung war erfolgreich umgesetzt.

Bedingte Seitenumbrüche

In wenigen Fällen reichen die eben vorgstellten Platzierungsmöglichkeiten nicht aus. In den meisten dieser Fälle helfen bedingte Seitenumbrüche weiter. Einer der häufigsten Anwendungsfälle ist folgender: Es liegt eine Tabelle mit vielen Positionen und Informationen vor. Für jede Tabellenzeile soll dann im Formular eine eigene Seite entstehen. Nun könnten Sie mit dem erlernten Wissen aus dem vorherigen Abschnitt sagen, dass wir mit der Paginierungseigenschaft Nach den Umbruch nach jeder Position der Tabelle im Layout erzwingen können. Dies funktioniert auch gut, bis auf das Problem, dass er dadurch immer einen leere Seite ans Ende setzt, da das Layout auch ohne nachfolgende Position den Umbruch erzwingt und eine leere Seite generiert.

Für dieses Problem helfen uns bedingter Umbrüche. Mit ihnen können wir (wie vom Scripting gewohnt) abhängig von komplexer Logik Seitenumbrüche erschaffen. Dabei hilft uns der LiveCycle Designer auch etwas, da er schon mit vielen Voreinstellungen ausgeliefert wird. Bleiben wir also bei unserem Beispiel mit den Tabellenzeile die jeweils ihre eigene Seite benötigen. Wir wählen dazu die Tabellenzeile in der Hierarchie aus und navigieren über den Reiter Paginierung zum Button Bearbeiten… unter Bedingte Umbrüche:

Anschließend erscheint ein kleines Editorfenster. Hier wird schnell klar, warum ich zuvor Scripting erwähnt habe. Der Editor hilft uns dabei ein entsprechendes Scripting anzufertigen. Für unser Beispiel implementieren wir folgende Logik:

Das hier zu sehende Scripting bewirkt, dass bei jedem Umbruch geschaut wird, ob noch eine weitere Tabellenzeile danach folgt. Durch den instanceManager wird gezählt, wie viele Elemente die Tabelle hat und mit dem aktuellen Index der Position verglichen. Anschließend gebe ich über die Schaltfläche Nach und die Auswahl Bei: Anfang der Seite“…“ vor, was nach dem Teilformular, also der Tabellenzeile, passieren soll: Umbruch auf die nächste Seite. Zusätzlich können hier auch noch die Kopf- und Fußbereiche entsprechend angezeigt werden, so wie aus dem Reiter Paginierung bereits bekannt.

Fazit

Ihrer Fantasie sind bei den bedingten Umbrüchen keine Grenzen gesetzt. Hier können auch einzelne Werte einer Tabellenzeile ausgelesen werden und der Umbruch danach erfolgen. Was auch immer sie Scripten können, jetzt können Sie damit auch bedingte Seitenumbrüche erzeugen.

Ich hoffe dieser Beitrag hilft Ihnen bei Ihrer Arbeit mit Adobe Forms weiter. Sollten Sie noch Fragen zum Thema Seitenumbrüche haben oder Anmerkungen zu den hier besprochenen Inhalten, dann lassen Sie mir gern einen Kommentar da oder kontaktieren Sie mich direkt per Mail oder Telefon. Ich freue mich immer von Ihnen zu hören und Ihnen bei allen Formularfragen zur Seite zu stehen.

Robert Pagels

Robert Pagels

Mein Name ist Robert Pagels und ich bin begeisterter SAP Consultant bei mindsquare. Mein Fokus liegt dabei auf Adobe und HR-Formularen. Gern stehe ich für all Ihre Formularfragen zu Verfügung.

Sie haben Fragen? Kontaktieren Sie mich!



Das könnte Sie auch interessieren


Schreiben Sie einen Kommentar

Bitte füllen Sie alle mit * gekennzeichneten Felder aus. Ihre E-Mail Adresse wird nicht veröffentlicht.





Angebot anfordern
Preisliste herunterladen
Expert Session
Support