[GastForen Programme Print/Bildbearbeitung Adobe InDesign "Objekte verteilen" per Script

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

"Objekte verteilen" per Script

Ralf Hobirk
Beiträge gesamt: 5961

21. Jan 2009, 01:52
Beitrag # 1 von 10
Bewertung:
(9545 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo zusammen,

ich muss sehr häufig (oft einige hundert mal am Tag) Objekte mit einem bestimmten Abstand zueinander ausrichten. Dabei verwende ich meist die Werte 1 mm oder 2 mm, und zwar häufig wechselweise.

Das bedeutet nicht nur einige hundert mal einen Klick in das "Ausrichten"-Panel, sondern auch sehr häufiges Ändern des Abstandes von 1 mm auf 2 mm vv.

Deshalb jetzt meine Frage: Lässt sich diese Funktion auch per Script erreichen? D.h. Objekte mit einem festen Abstand zu verteilen? Zwei entsprechende Scripts (1 mm bzw. 2 mm Abstand) auf Tastenkürzel gelegt würden ein paar Kilometer Mausfahren ersparen :-)

Ich suche nicht unbedingt ein fertiges Script, sondern eher einen Ansatz, der mir ein wenig auf die Sprünge hilft, um endlich ins Java Scripting einzutauchen.
X

"Objekte verteilen" per Script

Martin Fischer
  
Beiträge gesamt: 12783

21. Jan 2009, 09:36
Beitrag # 2 von 10
Beitrag ID: #381904
Bewertung:
(9503 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Ralf,

ganz kurz:
das funktioniert über die distribute()-Methode, die am document hängt:

Zitat Document.distribute (alignDistributeItems: Array of PageItem, distributeOption:DistributeOptions[, alignDistributeBounds:AlignDistributeBounds][, useDistributeMeasurement:bool][, absoluteDistributeMeasurement:Measurement Unit (Number or String)=any])


Ein simples Beispiel:
Code
app.documents[0].distribute(app.selection, DistributeOptions.LEFT_EDGES, AlignDistributeBounds.ITEM_BOUNDS); 


Entscheidend für die Verteilung sind die Einstellungen bei den app.alignDistributePreferences.

Hilft das als erster Schritt?


als Antwort auf: [#381886]

"Objekte verteilen" per Script

Martin Fischer
  
Beiträge gesamt: 12783

21. Jan 2009, 22:33
Beitrag # 3 von 10
Beitrag ID: #382091
Bewertung:
(9458 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Ralf,

hier eine etwas erweiterte Version:

Code
// distributeVertical.jsx 
//DESCRIPTION: Verteilt ausgewählte Objekte vertikal auf 2 mm Abstand.

if (app.selection.length == 0 || !app.selection[0].hasOwnProperty("geometricBounds"))
{
alert('Keine oder schlechte Auswahl.');
exit();
}

with (app.alignDistributePreferences)
{
distributeSpaceAbsoluteMeasurement = 2;
distributeSpaceAbsolute = true;
}
app.documents[0].distribute(app.selection, DistributeOptions.VERTICAL_SPACE, AlignDistributeBounds.ITEM_BOUNDS);



als Antwort auf: [#381904]

"Objekte verteilen" per Script

Ralf Hobirk
Beiträge gesamt: 5961

21. Jan 2009, 22:58
Beitrag # 4 von 10
Beitrag ID: #382098
Bewertung:
(9454 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Tja, was soll ich sagen?

Ctrl-2 richtet meine Objekte mit 2 mm vertikalem Abstand aus. Ctrl-1 löst ein auf 1 mm Abstand modifiziertes Script aus und tut ansonsten das Gleiche…

Was soll ich da noch hinzufügen? Außer einem GROSSEN DANKESCHÖN an Martin natürlich!

Es wird jetzt allerhöchste Zeit für mich, in die Tiefen von Javascript einzutauchen…


als Antwort auf: [#382091]

"Objekte verteilen" per Script

OliverM.
Beiträge gesamt:

22. Jan 2009, 09:11
Beitrag # 5 von 10
Beitrag ID: #382117
Bewertung:
(9406 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
 
Lieber Martin,

was für ein tolles Skript. Weil ich öfter 3 mm Abstand in der horizontalen Ausrichtung brauche, hab ich VERTICAL_SPACE mal als völlig Skript-Unkundiger testweise im Blindflug durch HORIZONTAL_SPACE ersetzt, und das Measurement auf 3 mm - und es funktioniert sogar :-)

Ganz herzlichen Dank!
Oliver


als Antwort auf: [#382091]

"Objekte verteilen" per Script

bugfix
Beiträge gesamt: 2

10. Aug 2010, 09:06
Beitrag # 6 von 10
Beitrag ID: #448509
Bewertung:
(8568 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo zusammen.
Wirklich sehr gutes Script! Nutze das jetzt erst ein paar Tage und bin noch dabei das auf meine Bedürfnisse anzupassen. Jetzt aber meine Frage.

1: Was muss ich einstellen damit das Objekt nicht nach unten geht sondern nach oben?
2: Und ;) wie macht man dass das es nach links geht?

Sage schon mal 1000 Dank an euch!


als Antwort auf: [#382117]

"Objekte verteilen" per Script

thangartner
Beiträge gesamt: 27

18. Jun 2012, 10:49
Beitrag # 7 von 10
Beitrag ID: #496600
Bewertung:
(7198 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo zusammen

tolles Script. Wie kann ich das Script abändern, dass automatisch alle Rahmen auf der Seite ausgerichtet werden? Ohne dass ich sie vorher auswählen muss.

Gruss
Thomas


als Antwort auf: [#448509]

"Objekte verteilen" per Script

Martin Fischer
  
Beiträge gesamt: 12783

18. Jun 2012, 12:23
Beitrag # 8 von 10
Beitrag ID: #496611
Bewertung:
(7166 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Thomas,

versuch's mal damit.

Code
var what2distribute = app.layoutWindows.firstItem().activePage.pageItems.everyItem();  

with (app.alignDistributePreferences)
{
distributeSpaceAbsoluteMeasurement = 2;
distributeSpaceAbsolute = true;
}

app.documents[0].distribute(what2distribute, DistributeOptions.VERTICAL_SPACE, AlignDistributeBounds.ITEM_BOUNDS);



als Antwort auf: [#496600]

"Objekte verteilen" per Script

thangartner
Beiträge gesamt: 27

18. Jun 2012, 15:43
Beitrag # 9 von 10
Beitrag ID: #496627
Bewertung:
(7119 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Martin

Dein Script funktioniert einwandfrei. Vielen Dank!


Thomas


als Antwort auf: [#496611]

"Objekte verteilen" per Script

Stephan_M
Beiträge gesamt: 480

19. Jun 2012, 08:09
Beitrag # 10 von 10
Beitrag ID: #496662
Bewertung:
(7067 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hi,

ich hab mir damals das Script von Martin aufgeteilt in acht Skripte auf sprechenden Tastaturkürzeln mit denen ich A) den Abstand 0, 1, 2, 3, 4, 5mm wählen kann und B) die Objekte dann horizontal oder vertikal spacen kann. Ich habe seit damals das Skript TÄGLICH in Gebrauch.
(siehe Anhang)
Danke nochmal Martin.
Gruß,
Stephan


als Antwort auf: [#496627]
(Dieser Beitrag wurde von Stephan_M am 19. Jun 2012, 08:10 geändert)

Anhang:
distribute.zip (2.99 KB)
X