[GastForen Programme Print/Bildbearbeitung Adobe InDesign Rahmen an Übersatz anpassen

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

Rahmen an Übersatz anpassen

meerestier
Beiträge gesamt: 277

19. Okt 2006, 10:12
Beitrag # 1 von 8
Bewertung:
(5124 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Eine kleine Skriptfrage:
Gibt es ein Skript, das den ausgewählten Rahmen nach unten so erweitert, dass der gesamte Übersatz sichtbar wird?

(Dieser Beitrag wurde von meerestier am 19. Okt 2006, 10:13 geändert)
X

Rahmen an Übersatz anpassen

mpeter
Beiträge gesamt: 4631

19. Okt 2006, 10:37
Beitrag # 2 von 8
Beitrag ID: #257411
Bewertung:
(5111 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hi,
ein Skript ist mir nicht bekannt aber hier gibt es ein PlugIn:
http://www.softcare.de/...t-manager/index.html


als Antwort auf: [#257398]

Rahmen an Übersatz anpassen

Christoph Steffens
  
Beiträge gesamt: 4946

19. Okt 2006, 11:12
Beitrag # 3 von 8
Beitrag ID: #257429
Bewertung:
(5101 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen


als Antwort auf: [#257398]

Rahmen an Übersatz anpassen

Martin Fischer
  
Beiträge gesamt: 12885

19. Okt 2006, 12:47
Beitrag # 4 von 8
Beitrag ID: #257453
Bewertung:
(5082 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Lars,

das hat mich nun doch in den Fingern gejuckt.

Unten eine einfache Variante, die bei (genau) einem ausgewählten Textrahmen die Höhe solange um den Faktor myStep erweitert, bis der Überfluß zu Ende ist oder bis die über myLimit definierte Maximalhöhe erreicht ist.

Code
  1. // growTextframesHeightUntilNoOverflow.jsx
    var myStep = 1; // Schrittweite der Erhöhung
    var myLimit = 300; // max. Rahmenhöhe

    if ((app.selection.length == 1) && (app.selection[0].constructor.name == "TextFrame")) {
    growHeight(app.selection[0]);
    alert("Glückwunsch :-)\rZiel erreicht.")
    }

    function growHeight(theObject) {
    while (theObject.overflows == true) {
    var theBounds = theObject.geometricBounds;
    if ((theBounds[2] - theBounds[0]) <= myLimit) {
    theObject.geometricBounds = [theBounds[0], theBounds[1], theBounds[0] + myStep, theBounds[3]];
    }
    else {
    alert("Sorry :-(\rLimit erreicht.")
    exit();
    }
    }
    }

Du könntest es eventuell noch dahingehend ausbauen, daß alle ausgewählten Textrahmen berücksichtigt werden.


als Antwort auf: [#257398]
(Dieser Beitrag wurde von Martin Fischer am 20. Okt 2006, 09:33 geändert)

Rahmen an Übersatz anpassen

Martin Fischer
  
Beiträge gesamt: 12885

19. Okt 2006, 13:31
Beitrag # 5 von 8
Beitrag ID: #257466
Bewertung:
(5064 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Übrigens, wenn nicht der Überfluß des Textrahmens, sondern der des Textflusses/-abschnitts geprüft werden soll, ist die Zeile
Code
  1. while (app.selection[0].overflows == true) {

gegen

Code
  1. while (app.selection[0].parentStory.overflows == true) {

auszutauschen.
D.h. der gewählte Textrahmen wird so lange nach unten vergrößert, bis der Textabschnitt keinen Überfluß mehr hat (und die über myLimit definierte maximale Höhe) nicht erreicht ist.


als Antwort auf: [#257453]

Rahmen an Übersatz anpassen

Martin Fischer
  
Beiträge gesamt: 12885

20. Okt 2006, 09:48
Beitrag # 6 von 8
Beitrag ID: #257649
Bewertung:
(5025 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Gerade ist mir noch eine andere, schnellere Variante eingefallen:
Der ausgewählte Rahmen wird bis zu der angegebenen Maximalhöhe ausgedehnt.
Dann wird geprüft, ob der Überfluß beseitigt ist.
Wenn ja, wird die Position der letzten Zeile ermittelt und die untere Rahmenkante dorthin verschoben.
Wenn nein, dann wird die alte Position wiederhergestellt und es erscheint eine Fehlermeldung.

Code
  1. // growTextframesHeightUntilNoOverflow_2.jsx

    var myLimit = 300; // max. Rahmenhöhe in mm

    if ((app.selection.length == 1) && (app.selection[0].constructor.name == "TextFrame")) {
    // Sichern der aktuellen Maßeinheit
    myOldUnits = app.activeDocument.viewPreferences.verticalMeasurementUnits;
    app.activeDocument.viewPreferences.verticalMeasurementUnits = MeasurementUnits.millimeters;

    // Aufruf der Funktion zum Maximieren und Reduzieren des Textrahmens
    maximizeAndReduce(app.selection[0]);

    // Wiederherstellen der alen Maßeinheit
    app.activeDocument.viewPreferences.verticalMeasurementUnits = myOldUnits;
    }

    function maximizeAndReduce(theObject) {
    var theBounds = theObject.geometricBounds;
    theObject.geometricBounds = [theBounds[0], theBounds[1], theBounds[0] + myLimit, theBounds[3]];
    if (theObject.overflows == false) {
    // mit oder ohne Fußnoten?
    var theLastLine = (theObject.footnotes.length == 0)
    ? theObject.lines[-1].baseline
    : theObject.lines[-1].baseline + app.activeDocument.footnoteOptions.spacer
    + pt2mm(theObject.footnotes[0].characters[0].leading)
    + (theObject.footnotes[-1].lines[-1].baseline - theObject.footnotes[0].lines[0].baseline)
    + pt2mm(app.activeDocument.footnoteOptions.ruleLineWeight)
    + 0.2; // Toleranz ;-)
    theObject.geometricBounds = [theBounds[0], theBounds[1], theLastLine, theBounds[3]];
    }
    else {
    theObject.geometricBounds = theBounds;
    alert("Pech gehabt.\rEine Anpassung ist innerhalb des angegebenen Maximums einer Rahmenhöhe von " + myLimit + " mm nicht möglich.");
    }
    }

    function pt2mm(theValue) {
    var thePt = 0.3528;
    return theValue * thePt;
    }



als Antwort auf: [#257466]
(Dieser Beitrag wurde von Martin Fischer am 20. Okt 2006, 13:53 geändert)

Rahmen an Übersatz anpassen

meerestier
Beiträge gesamt: 277

23. Okt 2006, 10:26
Beitrag # 7 von 8
Beitrag ID: #257978
Bewertung:
(4962 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Mit einem Shortcut belegt, spare ich ca. 200 Klicks/Std...

Wieder einmal vielen Dank Martin...


als Antwort auf: [#257649]

Rahmen an Übersatz anpassen

funkturmmitte
Beiträge gesamt: 118

6. Jan 2016, 16:14
Beitrag # 8 von 8
Beitrag ID: #545791
Bewertung:
(3160 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo!
Ich hab diesen alten These mal ausgegraben weil er meinem Ziel am nähesten kommt.
Ich suche nach einer Möglichkeit alle Textrahmen im Dokument so aufzuziehen, dass der Text reinpasst.
Klar, per Tastenkombination würde es auch gehen – aber dann nur Seitenweise.
Ist es möglich obiges Script so anzupassen, dass alle Textrahmen im Dokument (falls sie Übersetztet enthalten) entsprechend aufgezogen werden?
Oder gibt es dafür schon eine fertige Lösung die ich nur übersehen habe?
Das AutoFit-PlugIn von TypeFi kommt leider nicht in Betracht.

Gruß
Oliver


als Antwort auf: [#257978]
X