[GastForen Programme Print/Bildbearbeitung Adobe InDesign Skriptwerkstatt Ausrichten an Textrahmen mit Abstand

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

Ausrichten an Textrahmen mit Abstand

faxinger
Beiträge gesamt: 191

13. Jul 2018, 10:30
Beitrag # 1 von 18
Bewertung:
(2725 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo ich möchte ein Skript bauen, oder vielleicht gibt es da auch schon etwas, das folgendes kann:

Das Element das kein Textrahmen ist (kann Bild, oder auch Vektorgrafik sein) an einen Textrahmen links oben im Abstand von 6,5 mm platzieren.
Voraussetzung: Beide Elemente müssen markiert sein. Aber ich weiß nicht wie ich dem Skript sagen soll welches Element an welchem ausgerichtet werden soll.

Also: die Ecke links unten des Bildes soll an den Textrahmen links oben im Abstand von 6,5 mm nach oben gestellt werden.

Ich habe mich schon mit dem Skript "Abstand zwischen Rahmen 501" von Peter Kahrel befasst.

Hier wird aber nur der Abstand gemessen und nicht zugewiesen.


Vielleicht könnt ihr mir weiterhelfen.

Danke
Hier Klicken X

Ausrichten an Textrahmen mit Abstand

Kai Rübsamen
Beiträge gesamt: 4563

13. Jul 2018, 11:13
Beitrag # 2 von 18
Beitrag ID: #564853
Bewertung:
(2712 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo!

Ich hab es noch nicht ganz verstanden, weil ein Beispiel fehlt. Wenn ich es richtig sehe, könntest du zunächst die Auswahl prüfen und Textrahmen und Rechteckrahmen ( der ein Bild oder Vektor beinhalten muss) in Variablen legen. Dann liest du die geometricBounds aus und verschiebst den Rechteckrahmen an die gewünschte Position.

Gruß Kai Rübsamen


als Antwort auf: [#564852]

Ausrichten an Textrahmen mit Abstand

Uwe Laubender
Beiträge gesamt: 4165

13. Jul 2018, 11:37
Beitrag # 3 von 18
Beitrag ID: #564854
Bewertung:
(2705 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Faxinger,
sind als Ausgangspunkt nur zwei Elemente ausgewählt?

Dann kannst Du doch herausfinden, welches der Textrahmen und welches der Nicht-Textrahmen ist. Prüfe einfach beispielsweise auf: constructor.name == "TextFrame".

Code
var selection = app.selection; 

for(var n=0; n<selection.length; n++)
{
if(selection[n].constructor.name == "TextFrame")
{ var textFrame = selection[n] };

if(selection[n].constructor.name != "TextFrame")
{ var frameToAlign = selection[n] };
};

$.writeln( textFrame );
$.writeln( frameToAlign );


Falls beide Elemente nicht gedreht sein sollten, kannst Du mit den geometricBounds beider Objekte arbeiten, Breite und Höhe ermitteln und das frameToAlign mit Methode move([x/y]) auf einen Punkt links oben verschieben oder um einen Wert verschieben: move( undefined , [x/y]).
*****
Mit herzlichem Gruß,
Uwe Laubender


als Antwort auf: [#564852]

Ausrichten an Textrahmen mit Abstand

faxinger
Beiträge gesamt: 191

13. Jul 2018, 11:38
Beitrag # 4 von 18
Beitrag ID: #564855
Bewertung:
(2704 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Kai,

ja du hast es richtig verstanden.

Was ich allerdings noch nicht weiß ist wie ich den Textrahmen sozusagen an seiner Position "fixiere" im Skript.

Also es soll nur das Bild verschoben werden. Und wie ich das aus meiner Gesamtauswahl (Textrahmen und Bildrahmen sind ja ausgewählt) zuordne weiß ich nicht.

Mit den geometric bounds kenn ich mich eh aus, mein Problem ist eher wie ich dem skript sage verschiebe nicht den Textrahmen.

LG
faxinger


als Antwort auf: [#564853]

Ausrichten an Textrahmen mit Abstand

faxinger
Beiträge gesamt: 191

13. Jul 2018, 11:52
Beitrag # 5 von 18
Beitrag ID: #564856
Bewertung:
(2702 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Danke Uwe,

ich glaub da war der gedankliche Knackpunkt. Die Prüfung welches ausgewählte Element welcher Typ ist.


Und ja es sind immer nur 2 Elemente ausgewählt.
Danke.

LG
faxinger


als Antwort auf: [#564854]

Ausrichten an Textrahmen mit Abstand

Kai Rübsamen
Beiträge gesamt: 4563

13. Jul 2018, 12:01
Beitrag # 6 von 18
Beitrag ID: #564857
Bewertung:
(2701 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Sehe gerade, Uwe hat dir schon eine Lösung geschrieben. Alternativ geht es dann auch so:

Code
var sel = app.selection; 

if (sel.length == 2) {
if (sel[0].constructor.name == "TextFrame") {
var tf = sel[0];
var rect = sel[1];
}
else if (sel[1].constructor.name == "TextFrame") {
var tf = sel[1];
var rect = sel[0];
} else {
alert("Das passt nicht!");
}
} else {
alert("Mehr oder weniger wie zwei ausgewählt!");
}

tf.select();


Das würde dir dann eine Meldung bringen, wenn du z.B. versehentlich zwei Rechteckrahmen ausgewählt hast. Wenn du jetzt noch ausschließen willst, dass nicht versehentlich zwei Textrahmen ausgewählt sind, passt der Code noch nicht und muss ergänzt werden, z.B. so:

Code
var sel = app.selection; 

// prüfen, ob genau 2 Objekte ausgewählt sind
if (sel.length != 2) {
alert("Mehr oder weniger wie zwei ausgewählt!");
exit();
}

// prüfen, was ausgewählt ist
if (sel[0].constructor.name == "TextFrame" && sel[1].constructor.name == "Rectangle") {
var tf = sel[0];
var rect = sel[1];
}
else if (sel[1].constructor.name == "TextFrame" && sel[0].constructor.name == "Rectangle") {
var tf = sel[1];
var rect = sel[0];
}
else {
alert("Das passt nicht!");
exit();
}

tf.select();


Gruß Kai Rübsamen


als Antwort auf: [#564856]
(Dieser Beitrag wurde von Kai Rübsamen am 13. Jul 2018, 12:07 geändert)

Ausrichten an Textrahmen mit Abstand

WernerPerplies
Beiträge gesamt: 2224

13. Jul 2018, 12:09
Beitrag # 7 von 18
Beitrag ID: #564858
Bewertung:
(2695 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Uwe,

könnte man nicht auch die Reihenfolge der Selektierung ausnutzen, dann fiele die Beschränkung auf bestimmte Datentypen und auf eine bestimmte Anzahl von selektierten Datentypen weg.

Einen schönen Tag wünscht

Werner Perplies
Auftragsprogrammierung und Skripte für Adobe InDesign
neu: WpsProjectHandler 15.06.2018, Version 1.75, neue Funktionen
Aktuelles
XING


als Antwort auf: [#564854]

Ausrichten an Textrahmen mit Abstand

faxinger
Beiträge gesamt: 191

13. Jul 2018, 12:24
Beitrag # 8 von 18
Beitrag ID: #564859
Bewertung:
(2692 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Danke an Werner und Kai,

ich weiß ihr wollt immer alle möglichen Fehler ausschließen, aber für mich als blutigen Anfänger macht das den Coder nur unübersichtlich.

Die zwei Elemente werden immer nur von Hand ausgewählt und mir geht es dabei auch nur um die exakte Positionierung des Bildes.

Wenn irrtümlich mehr als 2 Elemente oder 2 Textrahmen ausgewählt sind dann läuft halt das Skript ins Leere. Das macht nichts.


LG
faxinger


als Antwort auf: [#564858]

Ausrichten an Textrahmen mit Abstand

Uwe Laubender
Beiträge gesamt: 4165

13. Jul 2018, 12:55
Beitrag # 9 von 18
Beitrag ID: #564860
Bewertung:
(2685 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Antwort auf: Hallo Uwe,

könnte man nicht auch die Reihenfolge der Selektierung ausnutzen, dann fiele die Beschränkung auf bestimmte Datentypen und auf eine bestimmte Anzahl von selektierten Datentypen weg.


Hallo Werner,
aber klar doch. Das erste selektierte Objekt ist dann selection[0], das zweite, das dann per Shift-Taste und Klick dazukommt ist selection[1].
*****
Mit herzlichem Gruß,
Uwe Laubender


als Antwort auf: [#564858]

Ausrichten an Textrahmen mit Abstand

faxinger
Beiträge gesamt: 191

13. Jul 2018, 13:19
Beitrag # 10 von 18
Beitrag ID: #564861
Bewertung:
(2679 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
So jetzt noch ein kleines Problem dabei:

Ich krieg den Abstand nach oben nicht hin:
Code
// Bild-Platzierung am Textrahmen 

var selection = app.selection;

for(var n=0; n<selection.length; n++)
{
if(selection[n].constructor.name == "TextFrame")
{ var textFrame = selection[n] };

if(selection[n].constructor.name != "TextFrame")
{ var frameToAlign = selection[n] };
};

var position_x = textFrame.geometricBounds[1];
var position_y = textFrame.geometricBounds[0];
//alert (position_x);

frameToAlign.move([position_x,position_y-6.5]);


Eigentlich sollte das Bild ja über dem Textrahmen liegen...

Meine position_y sollte ja das rechte obere Eck des Textrahmens sein..

Wo denke ich hier falsch?


als Antwort auf: [#564860]

Ausrichten an Textrahmen mit Abstand

Uwe Laubender
Beiträge gesamt: 4165

13. Jul 2018, 13:34
Beitrag # 11 von 18
Beitrag ID: #564862
Bewertung:
(2672 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Faxinger,
schau mal das Koordinatensystem an, das InDesign verwendet.
Nach unten geht's in plus-Richtung!

Ach ja: Und weshalb änderst Du dann y, wenn y gleich bleiben soll?
*****
Mit herzlichem Gruß,
Uwe Laubender


als Antwort auf: [#564861]
(Dieser Beitrag wurde von Uwe Laubender am 13. Jul 2018, 13:36 geändert)

Ausrichten an Textrahmen mit Abstand

WernerPerplies
Beiträge gesamt: 2224

13. Jul 2018, 13:52
Beitrag # 12 von 18
Beitrag ID: #564863
Bewertung:
(2668 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Und schon wieder geht mir etwas durch den Kopf, was Faxinger nicht gefragt hat:

Wäre das nicht ganz einfach mir einem verankerten Rahmen zu lösen?

Einen schönen Tag wünscht

Werner Perplies
Auftragsprogrammierung und Skripte für Adobe InDesign
neu: WpsProjectHandler 15.06.2018, Version 1.75, neue Funktionen
Aktuelles
XING


als Antwort auf: [#564862]

Ausrichten an Textrahmen mit Abstand

faxinger
Beiträge gesamt: 191

13. Jul 2018, 14:52
Beitrag # 13 von 18
Beitrag ID: #564865
Bewertung:
(2660 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Werner,

nein verankertes Objekt hilft mir nicht in diesem Fall.

Bei einer Änderung bin ich mit nicht verankerten Objekten schneller.

Aber danke.


als Antwort auf: [#564863]

Ausrichten an Textrahmen mit Abstand

WernerPerplies
Beiträge gesamt: 2224

13. Jul 2018, 15:06
Beitrag # 14 von 18
Beitrag ID: #564867
Bewertung:
(2655 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Faxinger,

und ich dachte, dass mein Vorschlag gerade bei Änderungen überlegen wäre. ;-)

Aber wichtiger ist, dass Du mit Deiner Lösung zufrieden bist.

Einen schönen Tag wünscht

Werner Perplies
Auftragsprogrammierung und Skripte für Adobe InDesign
neu: WpsProjectHandler 15.06.2018, Version 1.75, neue Funktionen
Aktuelles
XING


als Antwort auf: [#564865]

Ausrichten an Textrahmen mit Abstand

faxinger
Beiträge gesamt: 191

13. Jul 2018, 15:11
Beitrag # 15 von 18
Beitrag ID: #564868
Bewertung:
(2654 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Ja Uwe,

das mit dem Koordinatensystem hab ich schon verstanden.

Das Problem dabei ist dass meine Bildhöhe von Auswahl zu Auswahl variiert.

Dh. ich muss eigentlich das Bild immer um die Bildhöhe + 6,5 mm nach oben verschieben.

Ich müsste somit die Höhe als Variable einfangen und das bei meiner position_Y berücksichtigen.


LG
faxinger


als Antwort auf: [#564862]
X
Hier Klicken

Veranstaltungen

Hier können Sie Ihre Anlässe eintragen, welche einen Zusammenhang mit den Angeboten von HilfDirSelbst.ch haben. Die Einträge werden moderiert freigeschaltet. Dies wird werktags üblicherweise innert 24 Stunden erfolgen. pdf-icon Hier eine kleine Anleitung.

Veranstaltungen
25.10.2018

Hamburg
Donnerstag, 25. Okt. 2018, 10.39 Uhr

Seminar

Viele Funktionen, für die früher Illustrator benötigt wurde, finden sich heute auch in InDesign. Angefangen bei den Pfadwerkzeugen, mit denen sich Linien und Bezier-Pfade zeichnen lassen, über die regulären Zeichenwerkzeuge für Rahmen und Linien bis hin zum Pathfinder, der Vektorobjekte zerschneiden, verbinden und kombinieren kann: InDesign bietet eine Vielzahl von Vektorgrafik-Werkzeugen, mit denen sich auch komplexe Vektorgrafiken erstellen lassen.

München, Donnerstag, 25.10.2018, Seminargebühr 415,31 (inkl. 19% MwSt), 9.30 Uhr bis 17.30 Uhr

Ja

Organisator: Cleverprinting

Vektorgrafik mit Adobe InDesign und Illustrator
Veranstaltungen
25.10.2018

Schule für Gestaltung Zürich
Donnerstag, 25. Okt. 2018, 17.00 - 19.30 Uhr

Seminar

Folgenden Fragen gehe ich – gemeinsam mit Ihnen – während des Seminars auf den Grund: – Sind heutige Farbsysteme auf crossmediale Ausgaben ausgerichtet? – Wie definiert man Farben für den Einsatz in Office- und Direktmarketing-Softwaren? – Welche Farb-Definitionen muss ein heutiges, crossmediales Corporate-Design beinhalten? – Braucht es dazu neue Systeme und Workflows? – Existieren Hilfsmittel für den crossmedialen Datenaustausch (freieFarbe)? – Ist CMYK in heutigen digitalen Produktionen noch sinnvoll und von Vorteil? – Was ist qualitativ besser – verfahrensangepasst oder ausgabeneutral?

Donnerstag, 25. Oktober 2018, von 17.00 Uhr bis 19.30 Uhr
mit anschliessendem Apéro

viscom-Mitglied: Kostenlos
Nichtmitglied: CHF 250.00, zuzüglich MwSt.

Ja

Organisator: viscom

http://www.viscom.ch/?name=agenda&veranstaltungid=854&datum=25.10.2018&suche=1