![]() |
Word: Strategie hinter ausgeglichener Spaltenaufteilung
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo,
ich beschäftige mich ja grade mit den Grundlagen von Text Prozessoren und bin auf eine Frage gestoßen. Angenommen, ich habe einen mehrspaltigen Abschnitt der Absätze enthält, wie würdet ihr vorgehen, um die Spalten ausgeglichen, so wie man es zum Beispiel aus Microsoft Word oder Libre Office kennt, zu rendern und darzustellen? Hier die Hierarchie:
Code:
Die Schriftgröße des größten Run Wertes einer Zeile, bestimmt deren Höhe. Daraus folgt, dass Zeilen eine unterschiedliche Höhe besitzen können. Die Höhe eines Absatzes ergibt sich aus der Höhe aller Zeilen. Die Höhe einer Spalte ergibt sich aus der Höhe aller Absätze. Die Höhe des Abschnitts ergibt sich aus der Höhe seiner höchsten Spalte (kann variieren, falls es z.B. einen erzwungenen Spaltenumbruch gibt).
- Abschnitt
- Spalten - Absätze - Zeilen - Runs Wie könnte man nun beim Erzeugen dieser Struktur vorgehen, wenn man folgende Voraussetzungen hat?
Code:
Danke für eure Beiträge.
- Abschnitt mit 3 Spalten (1 Spalte: 4 cm, 2. Spalte: 3 cm, 3. Spalte: 10 cm)
- Absatz - Absatz - Absatz |
AW: Word: Strategie hinter ausgeglichener Spaltenaufteilung
Die Spaltenbreite wird im Word doch nicht automatisch bestimmt, sondern vorgegeben bzw. ist manuell änderbar. Dabei ist sie unabhängig vom Inhalt. So war das zumindest noch bei meinem letzten Abstecher in Word 2013.
Sherlock |
AW: Word: Strategie hinter ausgeglichener Spaltenaufteilung
Zitat:
|
AW: Word: Strategie hinter ausgeglichener Spaltenaufteilung
Ich hatte mal mit einer längst vergessenen Komponente so etwas in der Richtung versucht:
![]() Deine Zielstellung ist allerdings recht unscharf formuliert. Man muss im Einzelfall da sicherlich noch viele Fälle unterscheiden, wann etwas komprimiert, umgebrochen, auseinandergezogen oder verschoben werden darf. Eine allgemeine Antwort wird also schwierig sein. |
AW: Word: Strategie hinter ausgeglichener Spaltenaufteilung
Zitat:
|
AW: Word: Strategie hinter ausgeglichener Spaltenaufteilung
Zitat:
|
AW: Word: Strategie hinter ausgeglichener Spaltenaufteilung
Tut mir leid, ich kann das nicht genug nachvollziehen (wo lässt sich was einstellen, welche Daten liegen vor, kann man vorab außerhalb der Engine etwas berechnen) und entsprechend auch nicht wirklich helfen.
|
AW: Word: Strategie hinter ausgeglichener Spaltenaufteilung
Ok, also ich habe zwei Module, eines für die Daten, das andere fürs Layout.
Datenstruktur
Code:
Layout Struktur
TSection:
Columns: Integer ColumnsWidth[]: Double Paragraphs[]: TParagraph Width: Double TParagraph: Items[]: TRun TRun: Text: String FontSize: Double FontName: String
Code:
Die TLayout Klassen, insbesondere TLayoutSection muss aus ihrem Parent (Data) die Spalten und deren (Teil-)Absätze sinnvoll generieren.
TLayout
Width: Double Height: Double TLayoutSection (TLayout) Data: TSection Columns[]: TLayoutColumn TLayoutColumn (TLayout) Paragraphs[]: TLayoutParagraph Parent: TLayoutSection TLayoutParagraph (TLayout) Lines[]: TLayoutLines Parent: TLayoutSection TLayoutLine (TLayout) Items[]: TRun Parent: TLayoutParagraph |
AW: Word: Strategie hinter ausgeglichener Spaltenaufteilung
Zwei Spalten in Word sollten reichen. In die Erste schreibt man (mit Zeilenumbrüchen) rein, wohin der Excel-Link der zweiten Spalte führt.
IMHO nennt man das, was Du suchst "optimale Spaltenbreite". Word und Excel parsen/rendern daher, bevor sie reagieren? Siehe #4 von stahli :-) Wieviele Zeichen/Zeilen hast Du denn pro Tabellenfeld, die in Word umgesetzt werden/angezeigt werden müssen/sollen? Und wenn das irgendwann mal klappen sollte, kommt jemand mit der Forderung nach einem lesbaren Ausdruck (auf Nadel/Tinte/Laser) um die Ecke... Danach kommen farbige Ausdrucke auf unterschiedlichen Papierformaten. Alles leider schon selbst (mit damals dBase3) erlebt :-( Toitoitoi! |
AW: Word: Strategie hinter ausgeglichener Spaltenaufteilung
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:51 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz