Adobe Forms: Einrückung nach Seitenumbruch fehlerhaft
Ihnen ist schon häufiger aufgefallen, dass die Einrückung nach dem Seitenumbruch in Adobe Forms oft fehlerhaft ist? Wir helfen Ihnen dieses Problem in Luft aufzulösen.
Problem: Einrückung nach Seitenumbruch fehlerhaft
Häufig habe ich die Frage gehört, warum die Einrückung nach Seitenumbruch in Adobe Forms fehlerhaft ist. Gerade bei Tabellen, die als Subforms dargestellt werden, tritt dieses Verhalten häufig auf. Auf der einen Seite ist der Text korrekt eingerückt, nach einem Seitenumbruch stehen Texte auf einmal zu weit links, oder gar ganz am Rand. Da mich dieses Verhalten schon viele Nerven gekostet hat, will ich mit Ihnen hier die schnelle Lösung des Problems teilen.
Situation
Hier sehen Sie ein Beispiel, in dem die Einrückung nach Seitenumbruch nicht mehr vorhanden ist.
Diese Darstellung wird hier durch zwei Textelemente realisiert, die in einem Subform SF_ROW1 untergebracht sind.
Das Subform SF_ROW1 hat hier die Einstellung “Inhalt: Textfluss” gesetzt.
Die Ursache für die fehlende Einrückung liegt hier in der Einstellung “Inhalt: Textfluss”, gepaart mit der Fließrichtung “Von links nach rechts” und dem vorher gehenden Element TXT_POSNR. Nach einem Seitenumbruch platziert Adobe die Elemente des Subforms neu. Da TXT_POSNR für das Subform SF_ROW1 bereits auf der Vorderseite gedruckt wurde, TXT_MAKTX allerdings noch weitere Inhalte hat, wird nur TXT_MAKTX wiederholt. Durch die Einstellung “Textfluss” fängt die Platzierung wieder von links an. Da TXT_POSNR nicht wiederholt wird, ist links nun ganz am Rand. Weitere Informationen zur Positionierung von Inhalten in Teilformularen finden Sie in der Entwicklerdokumentation von Adobe.
Einrückung nach Seitenumbruch beibehalten
Um die Einrückung auch nach dem Seitenumbruch beizubehalten, haben Sie zwei Optionen:
- Die Optione “Inhalt” des Subforms SF_ROW1 auf “Position” umstellen
- Objekt “Tabelle” nutzen
- Scripting
Bei Option 1 müssen Sie danach die Elemente von SF_ROW1 neu anordnen, da die Platzierung nun absolut und nicht relativ ist. Durch genau diesen Unterschied, die absolute Positionsangabe, behält das Textelement TXT_MAKTX auf der Folgeseite nach einem Umbruch nun allerdings seine X-Position bei und wird nicht nach links gerückt. Problem gelöst!
Bei Option 2 müssen Sie das Subform SF_ROW1 oder das darüber liegende durch ein Objekt vom Typ Tabelle austauschen. Tabellen haben immer die gleichen Spaltenbreiten. Die Einrückung ist somit immer gewährleistet. Allerdings ist hier Vorsicht geboten: Tabellen schränken durch genau diese Eigenschaft auch stark ein. Sollen mal Spalten verbunden werden, sind Subforms wieder die bessere Lösung.
Wenn alle Stricke reißen, können Sie den Rand des Textelements nach Links durch Scripting setzen. Diese Option ist sehr aufwendig und nur in Extremfällen zu empfehlen.
Abschließende Tipps
Meine Empfehlung geht auf Grund der Einfachheit zu Option 1, der Umstellung des Subforms auf “Inhalt: Position”. Dazu noch ein Tipp zum Designprozess: Platzieren Sie ruhig erstmal alle Elemente per “Inhalt: Textfluss”, solange sich die Breiten der einzelnen Elemente noch verändern. Ist die Option “Textfluss” gewählt, kann für eine Anpassung der Spaltenbreite einfach die Breite geändert werden. Ist “Inhalt: Position” aktiviert, muss nicht nur die Breite angepasst werden, sondern auch die Position der nachfolgenden Textelemente.
Falls Sie ähnliche Formatierungsprobleme mit einem Smartform oder SAPscript haben, empfehle ich Ihnen unsere umfassende Dokumentation zur Nutzung von Smartforms/SAPscript Styles.
In unserem Beitrag zu den Verwendungsmöglichkeiten von Teilformularen in Adobe Forms finden Sie außerdem eine Anleitung, wie Sie Teilformulare korrekt als Tabellen aufbauen.
Falls Sie Fragen haben, hinterlassen Sie mir gerne einen Kommentar.