Connect failed: Connection timed out

[GastForen Programme Print/Bildbearbeitung Adobe InDesign Mit Skript Textrahmen erstellen

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

Mit Skript Textrahmen erstellen

deavy
Beiträge gesamt: 25

12. Feb 2007, 16:14
Beitrag # 1 von 11
Bewertung:
(4765 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo zusammen,

überall wird ja gelobt, dass man mit Skripts in ID all das erreichen kann, was man auch so manuell machen kann.

Nun meine Frage:
1.a) Ist es möglich mit einem Skript (ich müsste JS) ein Textfeld zu erstellen?
1.b) Ist es dann auch möglich die X und Y Koordinate, Höhe und Breite und auch Absatzformate dem Textfeld zuzuordnen?

Bin dankbar für jede Antwort!

Viele Grüße
Michael
X

Mit Skript Textrahmen erstellen

Martin Fischer
  
Beiträge gesamt: 12779

12. Feb 2007, 16:40
Beitrag # 2 von 11
Beitrag ID: #275834
Bewertung:
(4754 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Michael,

> überall wird ja gelobt, dass man mit Skripts in ID all das erreichen kann,
> was man auch so manuell machen kann.

Das halte ich für eine Untertreibung. ;-)

> 1.a) Ist es möglich mit einem Skript (ich müsste JS) ein Textfeld zu erstellen?

Du meinst einen Textrahmen?
Ja, das kann man.
Zum Beispiel auf einer Seite oder einem Druckbogen.

> 1.b) Ist es dann auch möglich die X und Y Koordinate,
> Höhe und Breite und auch Absatzformate dem Textfeld zuzuordnen?

Du kannst die Koordinate der linken oberen Ecke und der rechten unteren Ecke definieren.
Über die Differenz der entsprechenden Koordinaten kannst Du Höhe und Breite errechnen.
Oder falls nur die Koordinaten der linken oberen Ecke und Höhe und Breite bekannt sind, kannst Du daraus die Koordinaten für die rechte untere Ecke berechnen.

Beispiel:
Code
// Koordinaten und Angaben zu Höhe und Breite 
var linkeObereEcke = [5, 10]; // y1, x1
var meineHoehe = 20;
var meineBreite = 100;

// aktive Seite
var meineSeite = app.layoutWindows[0].activePage;

// Textrahmen auf der aktiven Seite erstellen
var meinTextRahmen = meineSeite.textFrames.add();

// Textrahmen Position, Breite und Höhe zuweisen
meinTextRahmen.geometricBounds = [linkeObereEcke[0], linkeObereEcke[1], linkeObereEcke[0] + meineHoehe, linkeObereEcke[1] + meineBreite]; // y1, x1, y, x2


Bitte beachte:
Die Koordinaten werden nicht wie aus der Schule bekannt erst mit dem x- und dann mit dem y-Wert notiert, sondern umgekehrt: erst der y-Wert und dann der x-Wert.


als Antwort auf: [#275825]

Mit Skript Textrahmen erstellen

Gerald Singelmann
  
Beiträge gesamt: 6269

12. Feb 2007, 16:57
Beitrag # 3 von 11
Beitrag ID: #275842
Bewertung:
(4751 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Zitat Die Koordinaten werden nicht wie aus der Schule bekannt erst mit dem x- und dann mit dem y-Wert notiert, sondern umgekehrt: erst der y-Wert und dann der x-Wert.


Das konnte ich mir erst merken, als ich kapierte, dass das einfach gegen den Uhrzeigersinn geht:
Top
Left
Bottom
Right


als Antwort auf: [#275834]

Mit Skript Textrahmen erstellen

Martin Fischer
  
Beiträge gesamt: 12779

12. Feb 2007, 17:16
Beitrag # 4 von 11
Beitrag ID: #275851
Bewertung:
(4745 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hej Gerald,

das ist eine gute Eselsbrücke.
Was mußte ich mir bisher immer das Hirn verrencken.

Beim move()-Befehl muß die Koordinate wieder Richtung Mathe-Lehrer gedreht werden:
die erste Koordinate bezeichnet die Richtung auf der x-Achse, die zweite auf der y-Achse.


als Antwort auf: [#275842]
(Dieser Beitrag wurde von Martin Fischer am 12. Feb 2007, 18:09 geändert)

Mit Skript Textrahmen erstellen

deavy
Beiträge gesamt: 25

13. Feb 2007, 08:52
Beitrag # 5 von 11
Beitrag ID: #275930
Bewertung:
(4705 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Guten Morgen,

vielen Dank für die schnelle Hilfe und auch der Eselsbrücke.

So habe ich mir das vorgestellt, dass das gehen könnte.

Aber sind auch Absatzformate möglich oder bspw. Tags zuordenbar? Oder kann ich den Textrahmen gleich mit Inhalt füllen?

Viele Grüße
Michael


als Antwort auf: [#275834]

Mit Skript Textrahmen erstellen

Martin Fischer
  
Beiträge gesamt: 12779

13. Feb 2007, 09:10
Beitrag # 6 von 11
Beitrag ID: #275934
Bewertung:
(4702 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
> Aber sind auch Absatzformate möglich oder bspw. Tags zuordenbar?

Freilich sind auch Absatzformate möglich.
Aus dem Stichwort "Tags" schließe ich, daß es um einen speziellen, hier bislang nicht näher dokumentierten XML-Workflow geht. So kann ich auch nur bröckchenweise antworten. Und ich bezweifle, daß Dir diese Einzelteile mehr bieten als das Gefühl "irgendwie geht das also schon."

Aber Du hast auch wieder recht, wenn Du annimmst, daß der Nachbau Deines XML-Workflows zu aufwendig und die Antwort zu komplex ausfallen würde.

> Oder kann ich den Textrahmen gleich mit Inhalt füllen?

Hier noch ein paar Happen als Ergänzung zum Einstieg oben:
Code
// Festlegung Absatzformat, hier das letzte Absatzformat in der Liste 
meinAbsatzformat = app.activeDocument.paragraphStyles[app.activeDocument.paragraphStyles.length-1];

// Befüllung mit Inhalt
meinTextRahmen.contents = 'Hello world!\rWos homm’s gsogd?';

// Zuweisen des Absatzformats an den gesamten Text des Textrahmens
meinTextRahmen.texts[0].appliedParagraphStyle = meinAbsatzformat;



als Antwort auf: [#275930]

Mit Skript Textrahmen erstellen

deavy
Beiträge gesamt: 25

13. Feb 2007, 09:40
Beitrag # 7 von 11
Beitrag ID: #275944
Bewertung:
(4696 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Ja, genau!

Du hast es richtig erkannt.Es handelt sich teilweise um einen XML Workflow. Diese Einzelteile bringen mich schon ein bisschen weiter. Danke dafür!!


Noch eine kleine Frage:

Man nimmt als Beispiel eine Seite mit 5 Textrahmen.
Wenn ich eins manuell auswähle, sehe ich ja die Koordinaten des Feldes.

Ist es aber auch möglich per Skript die oberere linke Ecke und die untere rechte Ecke eines Textrahmens herauszufinden?
Und daraus resultierend dann das unterste nur anzuzeigen?

Ich stell mir das so vor, dass ich mit einem Skript alle Textfelder und deren Koordinate auslese. Nun nehme ich das Textfeld mit der größten Y Koordinate (das ist ja dann das unterste) und gebe von diesem folgendes aus:
Obere linke Ecke und untere rechte Ecke. Somit habe ich von diesem Textfeld alles was ich brauche.

Andere Möglichkeit.
ich schnappe mir 2 Textrahmen, vergleiche diese, speichere die Daten des unteren, vergleiche dieses wieder mit einem anderen usw. bis ich alle durch habe. Isst aufwändiger müsset vom Prinzip aber auch gehen...


Ziel ist es, unter dem untersten Textrahmen einen neuen Textrahmen zu erstellen. Müsste ich nur herausfinden, wo das unterste aufhört :)


Viele Grüße
Michael


als Antwort auf: [#275934]

Mit Skript Textrahmen erstellen

Martin Fischer
  
Beiträge gesamt: 12779

13. Feb 2007, 09:56
Beitrag # 8 von 11
Beitrag ID: #275952
Bewertung:
(4694 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Wie die Positionseigenschaft eines Textrahmens aussieht, habe ich oben bereits beschrieben:

Code
meinTextRahmen.geometricBounds = [y1, x1, y2, x2]; 


Die y1-Positionen aller Textrahmen auf der aktiven Seite erhältst Du demnach z.B. über
Code
var y1Positions = app.layoutWindows[0].activePage.textFrames.everyItem().geometricBounds[0]; 


Und nun müßtest Du eine Funktion einbinden, die Dir den höchsten oder den niedrigsten Wert ermittelt (etwa über Math.max()).


als Antwort auf: [#275944]

Mit Skript Textrahmen erstellen

Gerald Singelmann
  
Beiträge gesamt: 6269

13. Feb 2007, 10:18
Beitrag # 9 von 11
Beitrag ID: #275961
Bewertung:
(4690 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Michael,

wieso geben Sie Martin nicht ganz offiziell den Auftrag, entweder:
- Ihnen JavaScript in einem Kurs beizubringen oder
- Ihnen das Script zu entwickeln
?

Ihre Fragen sind alle sehr grundlegend und zeugen davon, dass Sie entweder noch gar nicht in die Scripting Referenz hineingeschaut haben oder sie nicht verstehen.
Ersteres wäre dreist, zweiteres legt die beiden Vorschläge oben nahe.


als Antwort auf: [#275952]

Mit Skript Textrahmen erstellen

deavy
Beiträge gesamt: 25

13. Feb 2007, 10:36
Beitrag # 10 von 11
Beitrag ID: #275967
Bewertung:
(4683 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hi,

es handelt sich um einen XML Workflow. Hier sagt Martin selbst, dass er da nur stückchenweise weiterhelfen kann.

Und zu ihren Fragen:
Es sind grundlegende Dinge. Ich frage danach ob es so funktioniert. Die Lösung wie ich mir das vorstelle liefere ich selbst. Sie verstehen das falsch, wenn sie meinen, ich will dass Martin mir das Skript schreibt.

Ich möchte schauen, ob es sich für uns lohnt, sich damit näher zu beschäftigen.
Deswegen die Fragen nach einfachen grundlegenden Sachen.
Und dafür wähle ich das Forum.

Wenn ich falsch bin für sowas, einfach sagen.


Vielen Dank für deine Hilfe Martin


als Antwort auf: [#275961]

Mit Skript Textrahmen erstellen

Gerald Singelmann
  
Beiträge gesamt: 6269

13. Feb 2007, 10:57
Beitrag # 11 von 11
Beitrag ID: #275978
Bewertung:
(4681 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Zitat Ich möchte schauen, ob es sich für uns lohnt, sich damit näher zu beschäftigen.


Ja, wenn Sie einen XML Workflow aufsetzen wollen, lohnt es sich unbedingt, dass Sie sich mit Scripting beschäftigen.
Sie können per Script quasi alles im Dokument machen, was Sie per Hand machen können und noch etwas mehr.

Falls Sie irgendwelche Scripte dann soweit stehen haben, aber an bestimmten Stellen nicht weiterkommen, helfen wir gern weiter.


als Antwort auf: [#275967]
X