hilfdirselbst.ch
Facebook Twitter gamper-media
"Funktioniert nicht" ist keine hinreichende Fehlerbeschreibung.
atrachsel
Beiträge: 93
1. Nov 2013, 15:54
Beitrag #1 von 2
Bewertung:
(1292 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Skript anpassen


Hallo zusammen

Ich habe hier ein Skript welchem ich die maximale Höhe und Breite eingeben möchte. Wenn ich ein Wort mit 3 Buchstaben habe, möchte ich nicht dass die volle Breite erreicht wird, da sonst die Buchstaben zu gross werden. Weiss aber leider nicht wo.
Kann mir da jeman helfen?

if ( app.documents.length > 0 )
main();

function main()
{
var old_tp = app.transformPreferences.whenScaling;
app.transformPreferences.whenScaling = WhenScalingOptions.ADJUST_SCALING_PERCENTAGE;
for ( var i = app.activeDocument.textFrames.length -1; i >= 0; i-- )
{
if ( app.activeDocument.textFrames.item(i).characters.length > 0 && app.activeDocument.textFrames.item(i).rotationAngle == 0 )
{
bring_auf_breite( app.activeDocument.textFrames.item(i) );

}
}
app.transformPreferences.whenScaling = old_tp;
}

function bring_auf_breite ( obj )
{
var gb_vorher = obj.geometricBounds;
var breite_vorher = gb_vorher[3] - gb_vorher[1];
var hoehe_vorher = gb_vorher[2] - gb_vorher[0];
obj.fit(FitOptions.FRAME_TO_CONTENT);
var gb_nachher = obj.geometricBounds;
var breite_nachher = gb_nachher[3] - gb_nachher[1];
var hoehe_nachher = gb_nachher[2] - gb_nachher[0];
var factorb = breite_vorher/breite_nachher;
var factorh = hoehe_vorher/hoehe_nachher;
var factor = Math.min( factorb, factorh);
var myScaleMatrix = app.transformationMatrices.add({horizontalScaleFactor:factor, verticalScaleFactor:factor});
obj.transform(CoordinateSpaces.pasteboardCoordinates, AnchorPoint.TOP_LEFT_ANCHOR, myScaleMatrix);
obj.geometricBounds = gb_vorher;
Top
 
X
Uwe Laubender S
Beiträge: 3986
2. Nov 2013, 10:10
Beitrag #2 von 2
Beitrag ID: #519231
Bewertung:
(1237 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Skript anpassen


Hallo, atrachsel!

Ich denke, Du bist hier im falschen Forum. Das beschäftigt sich eher im Allgemeinen mit JavaScript, im Speziellen mit der Anwendung bei Webdesign.

Wenn ich so Deinen Code betrachte, dann sieht der nach ExtendScript (eine Spielart von JavaScript) für InDesign aus.

Also, liebe Moderatoren:
Wenn möglich, bitte diesen Thread in die InDesign-Scriptwerkstatt verschieben.
Da kann atrachsel eher geholfen werden.
*****
Mit herzlichem Gruß,
Uwe Laubender
als Antwort auf: [#519216] Top