[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: 5938

21. Jan 2009, 00:52
Beitrag # 1 von 10
Bewertung:
(7885 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.

---
Viele Grüße aus meinem Ship-Office in Dalmatien Cool
Ralf
---
iMac i7 (12,2) 3,4 GHz, 32 GB | MacBook Pro 15" (8,2) 2,0 GHz, 16 GB | Mac Mini (6,1) als Server 2,5 GHz, 8 GB | 10.11.6 El Capitan | CS6 (ID 8.0.1)
X

"Objekte verteilen" per Script

Martin Fischer
  
Beiträge gesamt: 12475

21. Jan 2009, 08:36
Beitrag # 2 von 10
Beitrag ID: #381904
Bewertung:
(7843 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?

Viele Grüße
Martin




als Antwort auf: [#381886]

"Objekte verteilen" per Script

Martin Fischer
  
Beiträge gesamt: 12475

21. Jan 2009, 21:33
Beitrag # 3 von 10
Beitrag ID: #382091
Bewertung:
(7798 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);


Viele Grüße
Martin




als Antwort auf: [#381904]

"Objekte verteilen" per Script

Ralf Hobirk
Beiträge gesamt: 5938

21. Jan 2009, 21:58
Beitrag # 4 von 10
Beitrag ID: #382098
Bewertung:
(7794 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…

---
Viele Grüße aus meinem Ship-Office in Dalmatien Cool
Ralf
---
iMac i7 (12,2) 3,4 GHz, 32 GB | MacBook Pro 15" (8,2) 2,0 GHz, 16 GB | Mac Mini (6,1) als Server 2,5 GHz, 8 GB | 10.11.6 El Capitan | CS6 (ID 8.0.1)


als Antwort auf: [#382091]

"Objekte verteilen" per Script

OliverM.
Beiträge gesamt:

22. Jan 2009, 08:11
Beitrag # 5 von 10
Beitrag ID: #382117
Bewertung:
(7746 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, 07:06
Beitrag # 6 von 10
Beitrag ID: #448509
Bewertung:
(6908 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, 08:49
Beitrag # 7 von 10
Beitrag ID: #496600
Bewertung:
(5538 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: 12475

18. Jun 2012, 10:23
Beitrag # 8 von 10
Beitrag ID: #496611
Bewertung:
(5506 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);


Viele Grüße
Martin




als Antwort auf: [#496600]

"Objekte verteilen" per Script

thangartner
Beiträge gesamt: 27

18. Jun 2012, 13:43
Beitrag # 9 von 10
Beitrag ID: #496627
Bewertung:
(5459 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: 472

19. Jun 2012, 06:09
Beitrag # 10 von 10
Beitrag ID: #496662
Bewertung:
(5407 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, 06:10 geändert)

Anhang:
distribute.zip (2.99 KB)
X

Aktuell

Veranstaltungskalender

Hier können Sie Ihre Anlässe eintragen, welche einen Zusammenhang mit den Angeboten von HilfDirSelbst.ch wie z.B. Adobe InDesign, Photoshop, Illustrator, PDF, Pitstop, Affinity, Marketing, SEO, Büro- und Rechtsthemen etc. haben. Die Einträge werden moderiert freigeschaltet. Dies wird werktags üblicherweise innert 24 Stunden erfolgen.

pdf-icon Hier eine kleine Anleitung hinsichtlich Bedeutung der auszufüllenden Formularfelder.

Veranstaltungen
05.02.2021 - 05.11.2021

Digicomp Academy AG, Limmatstrasse 50, 8005 Zürich
Freitag, 05. Feb. 2021, 13.00 Uhr - Freitag, 05. Nov. 2021, 17.00 Uhr

Lehrgang

Bilden Sie sich zum zertifizierten Publishing-Multimedia-Profi aus. Neben Fotografie und Video befassen Sie sich mit der Medienproduktion, digitalen Publikationen und dem Webdesign für Desktop- und mobile Endgeräte.

Preis: CHF 10'500.-
Dauer: 30 Tage (ca. 210 Lektionen) – Unterricht findet jeweils am Freitag von 13 - 19 Uhr und Samstag von 09 - 17 Uhr statt

Ja

Organisator: Digicomp Academy AG

Kontaktinformation: Kundenberater-Team, E-Mailkundenberatung AT digicomp DOT ch

digicomp.ch/d/9PM

Veranstaltungen
12.03.2021 - 16.07.2021

Digicomp Academy AG, Zürich oder virtuell
Freitag, 12. März 2021, 13.00 Uhr - Freitag, 16. Juli 2021, 17.00 Uhr

Lehrgang

Steigen Sie in die Welt des Publishings ein und erlangen Sie die Zertifizierung von publishingNETWORK. Lernen Sie in diesem Lehrgang Druckmedien professionell zu erarbeiten, druckfertige PDFs zu erstellen und CI/CD-Vorgaben umzusetzen.

Preis: CHF 6'300.-
Dauer: 18 Tage (ca. 126 Lektionen) – Unterricht findet jeweils am Freitag von 13 - 19 Uhr und Samstag von 09 - 17 Uhr statt.

Ja

Organisator: Digicomp Academy AG

Kontaktinformation: Kundenberater-Team, E-Mailkundenberatung AT digicomp DOT ch

digicomp.ch/d/9PBAS