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;