[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:
(5002 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: 4628

19. Okt 2006, 10:37
Beitrag # 2 von 8
Beitrag ID: #257411
Bewertung:
(4989 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: 4906

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


als Antwort auf: [#257398]

Rahmen an Übersatz anpassen

Martin Fischer
  
Beiträge gesamt: 12783

19. Okt 2006, 12:47
Beitrag # 4 von 8
Beitrag ID: #257453
Bewertung:
(4960 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
// 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: 12783

19. Okt 2006, 13:31
Beitrag # 5 von 8
Beitrag ID: #257466
Bewertung:
(4942 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
while (app.selection[0].overflows == true) { 

gegen

Code
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: 12783

20. Okt 2006, 09:48
Beitrag # 6 von 8
Beitrag ID: #257649
Bewertung:
(4903 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
// 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:
(4840 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: 117

6. Jan 2016, 16:14
Beitrag # 8 von 8
Beitrag ID: #545791
Bewertung:
(3038 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