mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Fr 29.03.2024 16:59 Benutzername: Passwort: Auto-Login

Thema: Indesign: Script? Textboxinhalt rotieren vom 25.03.2009


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Tipps & Tricks für Print -> Indesign: Script? Textboxinhalt rotieren
Autor Nachricht
freddeh
Threadersteller

Dabei seit: 25.03.2009
Ort: -
Alter: -
Geschlecht: -
Verfasst Mi 25.03.2009 16:09
Titel

Indesign: Script? Textboxinhalt rotieren

Antworten mit Zitat Zum Seitenanfang

Hi Leute, ich hoffe ich hab die richtige Kategorie erwischt.

Folgendes Problem: Ich habe eine Exceltabelle mit jeweils 4 Spalten Text, der eingefügt werden soll. (Format in jeder der Spalten: hund - katze - maus - elefant - tiger). Diese sind in Spalten aufgeteilt, weil sie unterschiedlich formatiert werden sollen. Nun möchte ich aber, wenn ich diese per Datenzusammenführung importiert habe, dass sie anschließend, nach ihrer Formatierung, wieder durcheinandergewirbelt werden, sodass nachher es nachher nicht so aussieht:
<<InhaltSpalte1>><<InhaltSpalte2>><<InhaltSpalte3>><<InhaltSpalte4>>,
sondern z.B. so:

hund - maus - katze - elefant- tiger - affe - ratte

Meine Frage: Wie realisier ich das? Soweit ich weiss, kann ich ja in Excel keine Formatierung vorgeben, oder? Also muss das ja irgendwie mit Indesign nach der Formatierung zufällig durcheinandergewirbelt werden...

Danke für eure Ideen/Lösungen!
  View user's profile Private Nachricht senden
freddeh
Threadersteller

Dabei seit: 25.03.2009
Ort: -
Alter: -
Geschlecht: -
Verfasst Mi 25.03.2009 18:33
Titel

Antworten mit Zitat Zum Seitenanfang

Bin nun soweit, dass ich ein funktionstüchtiges Javascript erstellt habe, das die Begriffe neu ordnet, nur leider ohne die Formatierung mit zu verschieben. Jemand eine Idee wie ich die mitverschiebe, sodass sie nicht am selben "Fleck" bleibt?

Code:
function arrayShuffle(){
  var tmp, rand;
  for(var i =0; i < this.length; i++){
    rand = Math.floor(Math.random() * this.length);
    tmp = this[i];
    this[i] = this[rand];
    this[rand] =tmp;
  }
return this.join(" - ")
}
Array.prototype.shuffle = arrayShuffle;

randomize();
function randomize() {

   if (app.documents.length == 0 || app.selection.length == 0) {
       alert("Please select an object"); return false;
     }
   else if(app.selection[0].constructor.name == "TextFrame"){
      var words = new Array;      
      
      words = app.selection[0].contents;

      words = words.split(" - ");
      words = words.shuffle();
      app.selection[0].contents = words;
   }
   else {
      alert("Please select an textframe"); return false;
   }
}
  View user's profile Private Nachricht senden
Anzeige
Anzeige
Frank Münschke
Forums-Papa

Dabei seit: 08.06.2006
Ort: Essen
Alter: 69
Geschlecht: Männlich
Verfasst Do 26.03.2009 06:47
Titel

Antworten mit Zitat Zum Seitenanfang

etwas wenig Informtionen, denke ich mal * Keine Ahnung... *
Sollen "maus" und "elefant" immer halbfett?
Sollen "hund" und "ratte" immer unterstrichen?
Soll der Rest immer recte?
oder
Ist die Reihenfolge der Auszeichnungen vorgegeben?
--
Das eine geht unter CS4 mit Absatzformat-GREPs zu lösen ...
Das andere durch ein verschachteltes Absatzformat ...
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
freddeh
Threadersteller

Dabei seit: 25.03.2009
Ort: -
Alter: -
Geschlecht: -
Verfasst Do 26.03.2009 12:38
Titel

Antworten mit Zitat Zum Seitenanfang

Also die Begriffe werden praktisch so eingefügt:

hund - ratte - katze - tiger - affe - maus - elefant

Und sollen nun aber nicht so sortiert dargestellt werden, weil das ja langweilig aussieht als Tag Cloud (Die Formatierung hier entspricht ja nun nicht derer in inDesign, da sind es dann halt unterschiedliche Schriftgrößen, aber das is ja wurst).

Deswegen sollen die Begriffe, samt deren Formatierung zufällig angeordnet werden...

Ich weiß, dass das irgendwie mit move() geht, aber irgendwie ich das nicht richtig hin.. Jemand nen Ansatz?
  View user's profile Private Nachricht senden
freddeh
Threadersteller

Dabei seit: 25.03.2009
Ort: -
Alter: -
Geschlecht: -
Verfasst Fr 27.03.2009 14:12
Titel

Antworten mit Zitat Zum Seitenanfang

Hat sich erledigt. Wens interessiert:

Code:
function GetRandom( min, max ) {
   if( min > max ) {  return( -1 );    }
   if( min == max ) {
      return( min );
      }
      return( min + parseInt( Math.random() * ( max-min+1 ) ) );
}

function randomize() {
   if (app.documents.length == 0 || app.selection.length == 0) {
       alert("Please select an object"); return false;
     }
   if (app.selection[0].constructor.name == "TextFrame") {
      if(app.selection[0].label == "TagCloudDone") {
         alert("Tag Cloud already done!"); return false;
      }
      else {
      
      var myWords = new Array;
      var i,j, z,ref;
      
      myText = app.selection[0];
      myWords = myText.contents;
      myWords = myWords.split(" ");
      
         for(var i = 0; i < myWords.length-1;i++) {
            z = LocationOptions.before;
            y = GetRandom(0,myWords.length-1);
            ref = myText.texts[0].words.item(y);
            var moveIt = myText.parentStory.characters.itemByRange(myText.parentStory.words.item(i).characters.firstItem().index,myText.parentStory.words.item(i).characters.lastItem().index +1);
            while((i == y)  || (i == y-1)) { var y = GetRandom(0,myWords.length-1);  var ref = myText.texts[0].words.item(y); }
            moveIt.move(z,ref);
         }
         for(var l = 0; l < ((2 * myWords.length)-2);l++) {
            myText.texts[0].words.item(l).contents = myText.texts[0].words.item(l).contents + " -";
            myText.texts[0].words.item(l+1).pointSize = 10;
            l++;
         }
      app.selection[0].label = "TagCloudDone";
      }
      }
   else {
      alert("Please select an textframe"); return false;
   }
}

randomize();



Input:
Zitat:
hund katze maus tiger

Output:
Zitat:
katze - hund - maus - tiger
  View user's profile Private Nachricht senden
 
Ähnliche Themen Indesign CC 2014 vs CS6 - Anzeige beim rotieren
rotieren/ drehen
rotieren im illustrator
Gleichmäßiges Rotieren um einen verschobenen Pivotpunkt
Illustrator CS2: Probleme beim Objekt-Rotieren
InDesign / Script erstellen?
Neues Thema eröffnen   Neue Antwort erstellen
MGi Foren-Übersicht -> Tipps & Tricks für Print


Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst an Umfragen in diesem Forum nicht mitmachen.