[GastForen Programme Print/Bildbearbeitung Adobe InDesign Skriptwerkstatt Textrahmen verketten

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

Textrahmen verketten

faxinger666
Beiträge gesamt: 167

31. Mai 2021, 10:18
Beitrag # 1 von 3
Bewertung:
(4697 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo ihr Lieben,

bei diesem Skript von mir komm ich leider nicht weiter:
Code
var doc = app.activeDocument; 
app.activeWindow.transformReferencePoint = AnchorPoint.LEFT_CENTER_ANCHOR;
//~ AnchorPoint.BOTTOM_CENTER_ANCHOR
//~ AnchorPoint.BOTTOM_LEFT_ANCHOR
//~ AnchorPoint.BOTTOM_RIGHT_ANCHOR
//~ AnchorPoint.CENTER_ANCHOR
//~ AnchorPoint.LEFT_CENTER_ANCHOR
//~ AnchorPoint.RIGHT_CENTER_ANCHOR
//~ AnchorPoint.TOP_CENTER_ANCHOR
//~ AnchorPoint.TOP_LEFT_ANCHOR
//~ AnchorPoint.TOP_RIGHT_ANCHOR



if (!doc.swatches.itemByName("blue").isValid ) {
var _farbFeld = doc.colors.add();
_farbFeld.name = "blue";
_farbFeld.model = ColorModel.PROCESS;
_farbFeld.space = ColorSpace.CMYK;
_farbFeld.colorValue = [100,4,20,0];
};

if (!doc.swatches.itemByName("red").isValid ) {
var _farbFeld = doc.colors.add();
_farbFeld.name = "red";
_farbFeld.model = ColorModel.PROCESS;
_farbFeld.space = ColorSpace.CMYK;
_farbFeld.colorValue = [0,100,20,0];
};

//////////////////////////////////////
var zahl = 30; // Anzahl der Teilsegmente

//////////////////////////////////////


var farbe1 = doc.swatches.item("blue");
var farbe2 = doc.swatches.item("red");

var winkel = 360/zahl;
var x1 = 105, y1 = 148.5, x2 = 160, y2 = 152;

var _alleRahmen = [];

for (var i = 0; i <zahl; i++)
{var textrahmen = doc.pages[0].textFrames.add({geometricBounds: [y1, x1, y2, x2]})
//~ {var textrahmen = doc.pages[0].textFrames.add({geometricBounds: [y1+i*5, x1, y2+i*5, x2]})

textrahmen.contents = "Zahl " + [i+1];
textrahmen.paragraphs[0].pointSize = 4;
textrahmen.paragraphs[0].fillColor = farbe1;
textrahmen.paragraphs[0].justification = Justification.RIGHT_ALIGN;
// textrahmen.paragraphs[0].justification = Justification.CENTER_ALIGN;


// Konturstyling:
textrahmen.fillColor = farbe2;
textrahmen.strokeType = 'Durchgezogen';
textrahmen.strokeWeight = 0.5;
textrahmen.strokeColor = farbe1;


textrahmen.textFramePreferences.verticalJustification = VerticalJustification.CENTER_ALIGN ; 
textrahmen.textFramePreferences.insetSpacing = [0, 0, 0, 3]; //[TOP, LEFT, BOTTOM, RIGHT]

textrahmen.rotationAngle = winkel*i;
_alleRahmen.push(textrahmen);
};

for (var k = 0; k < _alleRahmen.length; k++)
{
_alleRahmen[k].nextTextFrame = alleRahmen[k+1];
};



Ich schaffe es nicht die erstellten Textrahmen miteinander zu verketten. Wo liegt das Problem dabei?
In dem Array "_alleRahmen" sind doch Textrahmen.

Könnt ihr mir helfen bitte?

Danke
LG
faxinger
X

Textrahmen verketten

Uwe Laubender
Beiträge gesamt: 5317

31. Mai 2021, 12:59
Beitrag # 2 von 3
Beitrag ID: #579999
Bewertung:
(4659 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo faxinger,

die Variable alleRahmen scheint's nicht zu geben.
Dafür aber die Variable _alleRahmen.


als Antwort auf: [#579997]

Textrahmen verketten

faxinger666
Beiträge gesamt: 167

31. Mai 2021, 13:21
Beitrag # 3 von 3
Beitrag ID: #580000
Bewertung:
(4648 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Uwe,
danke für den Hinweis, das habe ich jetzt korrigiert. Aber es war auch noch ein anderer Fehler drin:
Code
for (var k = 0; k < _alleRahmen.length-1;  k++) 
{
_alleRahmen[k].nextTextFrame = _alleRahmen[k+1];
};



Jetzt funktioniert es.

LG
faxinger


als Antwort auf: [#579999]