[GastForen Programme Print/Bildbearbeitung Adobe InDesign Skriptwerkstatt Höhe einer Tabelle auslesen

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Print/Bildbearbeitung - Photos, Layout, Design
Themen
Beiträge
Moderatoren
Letzter Beitrag

Höhe einer Tabelle auslesen

johniko
Beiträge gesamt: 51

7. Mär 2011, 10:14
Beitrag # 1 von 6
Bewertung:
(2440 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo!

Ich brauche dringend schnell Hilfe.
Ich erzeuge pro Seite einen Textrahmen. (Inhalt ist eine Tabelle)
Das ganze funktioniert wunderbar.
In der Tabelle wird ein Produkt in mehreren Größen/Ausführungen aufgelistet.
Wenn noch Platz auf der Seite ist, soll aber unter dieser Tabelle ein weiteres Produkt eingefügt werden bzw. eine weitere Tabelle. (um im Katalog Platz zu sparen)

Wie gehe ich das Problem an?
Mein Ansatz wäre, dass ich die höhe der Tabelle auslese und das Skript entscheiden lassen, ob eine oder mehrere Tabellen auf der Seite untereinander angelegt werden. Aber wie mache ich das?
Danke für eure Ideen!
X

Höhe einer Tabelle auslesen

Martin Fischer
  
Beiträge gesamt: 12691

7. Mär 2011, 12:44
Beitrag # 2 von 6
Beitrag ID: #466404
Bewertung:
(2414 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Eine Tabelle hat die Eigenschaft height.

Deine Beschreibung legt aber die Vermutung nahe, dass Dir diese Eigenschaft alleine nicht ausreicht. Eventuell müsstest Du zur Ermittlung der vertikalen Position der unteren Tabellenkontur auf die Grundlinie (baseline) der letzten Textzeile innerhalb der Tabelle zurückgreifen und unteren Versatz und Konturlinienstärke miteinbeziehen.

Vergleiche diesen Wert mit dem Wert der unteren Satzspiegelkante und errechne daraus den noch verfügbaren Platz.


als Antwort auf: [#466386]

Höhe einer Tabelle auslesen

WernerPerplies
Beiträge gesamt: 2711

7. Mär 2011, 15:28
Beitrag # 3 von 6
Beitrag ID: #466417
Bewertung:
(2390 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Wenn ich die Aufgabe richtig verstehe, benötigst Du die Endposition der letzten positionierten Tabelle, um den noch verfügbaren Platz zu ermitteln, und außerdem die Höhe der nächsten Tabelle, um zu wissen, ob die Tabelle noch auf die Seite passt.

Ich hatte ein ähnliches Problem bei meinem Exportprogramm für Corel Ventura zu lösen, und habe dafür den folgenden Weg gewählt:

Ich arbeite dafür mit zwei offnen Dokumenten, zum einem der eigentlichen Zieldatei, und zum anderen mit einer leeren Datei, die exakt die gleichen Formate verwendet.

In dieser leeren Datei (leere Seite) positioniere ich das zu untersuchende Element, in Deinem Fall also die zu positionierende Tabelle.

Dann ermittle ich die von mir benötigten Werte, in Deinem Fall wäre es also die Tabellenhöhe, die, wenn nicht direkt greifbar, auch durch ein angefügtes Hilfselement ermittelt werden könnte.

Danach kenne ich also den Platzbedarf und kann entscheiden, wohin das untersuchte Element passt.

Ich schneide das Element aus und füge es über die Zwischenablage in das Zieldokument ein.

Im Hilfselement lösche ich alle eventuell verbliebenen Inhalte und nehme mir dann das nächste Element vor.

Der Vorteil dieses Verfahrens war für mich, dass die eigentliche Hauptarbeit in ein kleinen Datei abläuft und damit sehr schnell ist und die Verwendung von eventuellen Hilfselementen zu keinen versehentlichen Verschiebungen im Zieldokument führt.

Ich denke, dass diese Vorgehensweise auch in InDesign funktioniert.

Aber vielleicht gibt es hier ja auch einen viel einfacheren Weg.


als Antwort auf: [#466386]

Höhe einer Tabelle auslesen

johniko
Beiträge gesamt: 51

7. Mär 2011, 15:49
Beitrag # 4 von 6
Beitrag ID: #466419
Bewertung:
(2382 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Euch vielen Dank!

Puh, so viele Möglichkeiten.
Ich bin gerade am überlege, ob ich nicht alles vom Textrahmen abhängig mache. Auf jeder Seite wird also ein Textrahmen erzeugt, die Tabelle eingefügt und der Textrahmen ggf. auf die Größe der Tabelle verkleinert. Dann lese ich im folgenden Schritt nicht die Größe der Tabelle aus sondern die des Textrahmens....irgendwie so. und platziere den nächsten Textrahmen darunter. (wenn der noch auf die Seite passt) Wenn jemand ein Skriptbeispiel hat, wäre ich seeehr dankbar!


als Antwort auf: [#466417]

Höhe einer Tabelle auslesen

Stibi
Beiträge gesamt: 825

9. Mär 2011, 10:58
Beitrag # 5 von 6
Beitrag ID: #466554
Bewertung: ||
(2308 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo johniko,

mal ein ganz anderer Lösungsansatz:
du arbeitest mit einem Mustertextrahmen und der Fähigkeit von InDesign, bei Überlauf neue Seiten anzufügen.
Dann erzeugst du im ersten Textrahmen deine Tabelle und gleich darauf, in demselben Rahmen, die nächste Tabelle usw.

Wenn du keine weiteren Einstellungen vornimmst, wird eine Tabelle unten auf einer Seite auch auf der nächsten Seite weiterlaufen. Falls das nicht gewünscht ist, legst du für deine Tabellen ein Zellenformat an, das dieses unterbindet ("nicht von nächster Zeile trennen")
Über Tabelleneinstellungen kannst du den Abstand vor und nach den Tabellen regeln.

Der Vorteil dieser Methode: du musst gar nicht mehr ausprobieren und rumrechnen und - falls man was dazwischen muss oder Zeilen wegfallen im späteren Layoutprozess - rutschen die restlichen Tabellen weiter oder zurück, je nach dem.

Gruß Stibi
DDD


als Antwort auf: [#466419]

Höhe einer Tabelle auslesen

johniko
Beiträge gesamt: 51

9. Mär 2011, 13:26
Beitrag # 6 von 6
Beitrag ID: #466573
Bewertung:
(2289 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Danke Stibi.
So einfach wie genial.

Ich muss mein Skript vermutlich radikal ändern.
Ansonsten ist das wohl der einfachste Weg.
Ich werde das probieren.

Hast Du auch ein ähnliches Skriptbeispiel parat?


als Antwort auf: [#466554]
X