[GastForen Programme Print/Bildbearbeitung Adobe InDesign Skriptwerkstatt Script aus der Kommando Zeile ausführen (MAC / WIN)

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

Script aus der Kommando Zeile ausführen (MAC / WIN)

fabiantheblind
Beiträge gesamt:

10. Aug 2012, 15:01
Beitrag # 1 von 16
Bewertung:
(6535 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hello Leute,

weiss jemand von euch ob und wenn ja wie man ein Skript aus dem Terminal heraus ausführen kann?
Also sowas wie:
Code
InDesign run test.jsx 

Ich würde mich über eine Antwort sehr freuen.
Beste Grüsse
:fab
X

Script aus der Kommando Zeile ausführen (MAC / WIN)

-hans-
Beiträge gesamt: 748

11. Aug 2012, 00:51
Beitrag # 2 von 16
Beitrag ID: #499263
Bewertung:
(6489 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hi,

na ja, auf dem Mac würde ich sagen mit osascript tell app ID do script blabla language javascript ... -e option http://www.manpagez.com/man/1/osascript/

Oder einfacher mit Verweis auf ein AppleScript:
Code
osascript /Users/hans-gerdclaen/Desktop/test.scpt 


test.scpt:
Code
tell application "Adobe InDesign CS5.5" 
do script "alert('The world is my oyster')" language javascript
end tell



als Antwort auf: [#499251]

Script aus der Kommando Zeile ausführen (MAC / WIN)

fabiantheblind
Beiträge gesamt:

11. Aug 2012, 09:15
Beitrag # 3 von 16
Beitrag ID: #499265
Bewertung:
(6455 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Also ungefähr so auf Mac:
Code
osascript  -e 'tell application "Adobe InDesign CS5" to do script alias "Users:fabiantheblind:Desktop:test:test.jsx" language javascript ''' 


Das basiert auf diesem Post in den Adobe Forums http://forums.adobe.com/message/4587055

Ich hatte ja die Hoffnung, dass es die Möglichkeit gibt InDesign aus der Kommando Zeile direkt anzusprechen. Gibt's wohl nicht. Jedenfalls hat meine suche nichts entsprechendes ergeben. Dennoch danke für die Antwort.

Grüsse Fab


als Antwort auf: [#499263]

Script aus der Kommando Zeile ausführen (MAC / WIN)

-hans-
Beiträge gesamt: 748

11. Aug 2012, 12:26
Beitrag # 4 von 16
Beitrag ID: #499270
Bewertung:
(6415 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
würde ich sagen, ist zumindest soweit auch mein Kenntnisstand


als Antwort auf: [#499265]

Script aus der Kommando Zeile ausführen (MAC / WIN)

mx
Beiträge gesamt: 161

13. Aug 2012, 14:46
Beitrag # 5 von 16
Beitrag ID: #499338
Bewertung:
(6336 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Fabian,

was zumindest geht, ist InDesign in der Kommandozeile eine indd- oder idml-Datei mitzugeben, die dann geöffnet wird.

Viele Grüße
Jo


als Antwort auf: [#499251]

Script aus der Kommando Zeile ausführen (MAC / WIN)

WernerPerplies
Beiträge gesamt: 2760

13. Aug 2012, 15:07
Beitrag # 6 von 16
Beitrag ID: #499344
Bewertung:
(6330 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Fabian,

warum erzeugtst Du nicht einfach Deine Scripts als StartUp-Script.

Dann kopierst Du solch ein Script temporär in einen Startupfolder, und rufst InDesign aus der Kommandozeile auf. Dein Script sollte dann automatisch ausgeführt werden.
Danach löschst Dein StartUp-Skript wieder.

Nicht getestet, aber ich denke, es sollte so funktionieren.


als Antwort auf: [#499251]

Script aus der Kommando Zeile ausführen (MAC / WIN)

fabiantheblind
Beiträge gesamt:

13. Aug 2012, 16:17
Beitrag # 7 von 16
Beitrag ID: #499353
Bewertung:
(6304 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Was ich eigentlich vor hatte (zusammen mit einem Kumpel) ist, ein Sublime Text 2 plugin zu bauen. http://www.sublimetext.com Um den anstatt des ESTK zum schnellen entwickeln von Skripten zu verwenden.

Der Einzige Grund warum ich das ESTK aufmache ist das es schnell nen 'Scribble' Script ausführen kann.

Cheers

:F


als Antwort auf: [#499344]

Script aus der Kommando Zeile ausführen (MAC / WIN)

WernerPerplies
Beiträge gesamt: 2760

13. Aug 2012, 16:47
Beitrag # 8 von 16
Beitrag ID: #499355
Bewertung:
(6285 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Fabian,

;-)
schnell entwickeln und dabei für die Scriptausführung InDesign laden, ist ein Widerspruch in sich.

Schnell geht es nur, wenn InDesign bereits geladen ist.

Du müsstest also die gleiche Schnittstelle verwenden, die das ESTK verwendet, und da habe ich auch schon gesucht, bin aber bisher nicht fündig geworden.

Dabei gäbe es ja so tolle Entwicklungsumgebungen.

Das Einzige, was ich zu dem Thema gefunden habe, ist dieser Link:
http://forums.adobe.com/thread/612909,

aber das fand ich nicht sehr ermutigend.

Du könntest Dir noch ein nicht modales Window bauen, das bei einem Dropereignis ein Skript ausführt, dann müsstest Du nur Dein Skript per Drag and Drop auf dieses Fenster ziehen.

Aber ob sich dieser Aufwand lohnt?

Ich entwickle im ESTK, und wenn ich mal die Übersicht verliere, ziehe ich den Code per Cut and Past in eine bessere Entwicklungsumgebung, behebe den Fehler und kopiere den Code zurück.


als Antwort auf: [#499353]

Script aus der Kommando Zeile ausführen (MAC / WIN)

fabiantheblind
Beiträge gesamt:

13. Aug 2012, 17:04
Beitrag # 9 von 16
Beitrag ID: #499358
Bewertung:
(6275 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hm ja der thread beschreibt so ungefähr alles was mich am ESTK nervt. :)
Eclipse zu benutzen ist auch mit Kanonen auf Spatzen zu feuern. Ich werde wohl weiter an der osascript Variante lang hangeln.

Ach ja und wegen schnell und entwickeln. Der Shell Befehl soll ja nicht ID öffnen sondern nur das Skript an ID schicken.

Ich kann nur raten mal den sublimetext zu testen. Top code completation, gute color themes, gute plugins, snippets, macros, distraction free mode, bookmarks im code, multicolumn layouts usw usw. Ich bin schwer verliebt in das Ding.
Seitdem ich den Editor benutze bin ich um einiges schneller im schreiben. Das einzige ist halt das Ausführen von Skripten. Dafür muss ich dann zu ID wechseln mein, mein Skript im vollen Panel finden und es ausführen. Diesen Prozess wollte ich auf einer Taste haben…

Und vor allem: COMIC SANS in grün auf weiss mit 8 Punkt für Kommentare als Voreinstellung? Wirklich? Soll das ein Scherz sein

;Fab


als Antwort auf: [#499355]

Script aus der Kommando Zeile ausführen (MAC / WIN)

WernerPerplies
Beiträge gesamt: 2760

13. Aug 2012, 17:15
Beitrag # 10 von 16
Beitrag ID: #499359
Bewertung:
(6264 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Fabian,

Zitat Der Shell Befehl soll ja nicht ID öffnen sondern nur das Skript an ID schicken.


Doch Fabian, um ein InDesign-Script ausführen zu können, muss die InDesign-Funktionalität geladen sein, also InDesign.

Zitat Ich kann nur raten mal den sublimetext zu testen. Top code completation, gute color themes, gute plugins, snippets, macros, distraction free mode, bookmarks im code, multicolumn layouts usw usw. Ich bin schwer verliebt in das Ding.


Das ist schön für Dich.

Es gibt wirklich tolle Editoren und Entwicklungsumgebungen.


als Antwort auf: [#499358]

Script aus der Kommando Zeile ausführen (MAC / WIN)

-hans-
Beiträge gesamt: 748

13. Aug 2012, 17:56
Beitrag # 11 von 16
Beitrag ID: #499362
Bewertung:
(6222 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hi,

osascript ist doch gar nicht schlecht :)

Ein einfacher workaround / arbeitsablauf könnte auch sein:
1. Aktuelles zu testendes Script per Script sichern in vordefinierten Ordner + Namen
2. Ein Standard-AppleScript welches als Programm gesichert ist - Aufbau wie oben - mit shell-Befehl 'open' ausführen ...

... und wie sieht es mit Deinem Editor aus ist der vllt. Scriptfähig?


als Antwort auf: [#499358]

Script aus der Kommando Zeile ausführen (MAC / WIN)

gfellenz
Beiträge gesamt: 121

13. Aug 2012, 18:27
Beitrag # 12 von 16
Beitrag ID: #499364
Bewertung:
(6205 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Vom Prinzip her ähnlich hätte ich es jetzt auch gemacht... Ich habe gerade ein Startup-Skript zur Ordnerüberwachung für dich angepasst:

Code
#targetengine "startScript" 

app.addEventListener("afterActivate", afterActivate);

function afterActivate(event){
var rundIDSkriptFile = File (Folder.temp + "/runIDSkript.txt");
if (rundIDSkriptFile.exists) {
rundIDSkriptFile.open("e");
var skriptToRun = rundIDSkriptFile.readln();
rundIDSkriptFile.close();
rundIDSkriptFile.remove();
app.doScript(File(skriptToRun));
}
}


Du müsstest jetzt von sulbimetext2 in die Datei Folder.temp + "/runIDSkript.txt" den vollen Pfad des zu testenden Skripts schreiben. Wenn du dann nach InDesign wechselst, würde das Skript ausgeführt.

So sollte es zumindest klappen. Ich benutze übrignes auch nur sublime2 mit einer Ausnahme: InDesign Skriptin - ohne Breakpoints kann ich schlicht nicht arbeiten...


als Antwort auf: [#499362]

Script aus der Kommando Zeile ausführen (MAC / WIN)

kkauer
Beiträge gesamt: 661

13. Aug 2012, 22:12
Beitrag # 13 von 16
Beitrag ID: #499374
Bewertung:
(6152 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Alternative Idee:
- jsx mit #target in vertrauenswürdigem Quellordner
- Buildsystem mit "open"-Befehl für js (Buildsystem ggfls. umschalten)

Geht das in die richtige Richtung?


als Antwort auf: [#499353]

Script aus der Kommando Zeile ausführen (MAC / WIN)

-hans-
Beiträge gesamt: 748

14. Aug 2012, 00:48
Beitrag # 14 von 16
Beitrag ID: #499380
Bewertung:
(6103 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hi,

das Programm hat eine eigene API, leider Phyton ;-)

Es gibt ein PlugIn https://github.com/...xt-automatic-backups das automatische Sicherungskopien anlegt.

Wenn man die Sicherungskopien (Standardpfad im Userverz.) jetzt einfach durchsucht und die neuste ausführt ...

Code
set lastModifiedFile to (POSIX file (item -1 of (paragraphs of (do shell script "find -t -R " & quoted form of POSIX path of ((path to home folder as text) & ".sublime:backups:"))))) --Standardpfad für die Backups 

tell application "Adobe InDesign CS5.5"
do script alias lastModifiedFile language javascript
end tell

... dann muss man sich eigentlich nur noch dieses AS 'Auf-Taste-legen' ;-)


als Antwort auf: [#499374]

Script aus der Kommando Zeile ausführen (MAC / WIN)

fabiantheblind
Beiträge gesamt:

14. Aug 2012, 08:42
Beitrag # 15 von 16
Beitrag ID: #499382
Bewertung:
(6064 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Wow ihr seid voll geil. Danke für die vielen Ideen und Antworten.

1.
Zitat Doch Fabian, um ein InDesign-Script ausführen zu können, muss die InDesign-Funktionalität geladen sein, also InDesign.

Jupp das ist mir klar. Ich bin auch davon ausgegangen das ID läuft.
----
2.
Zitat osascript ist doch gar nicht schlecht :)

Ja. Da habe ich mich falsch ausgedrückt. Ich denke das ist meine Lösung. Das 'einzige' was in dem Plugin passieren muss ist in
Code
osascript  -e 'tell application "Adobe InDesign CS5" to do script alias "Users:fabiantheblind:Desktop:test:test.jsx" language javascript ''' 

den POSIX Pfad der Skript Datei einzufügen.
----
3.
Die Idee mit den 'startup script folder' klingt auch interessant aber ich denke ich versuche es mit osascript.
----
4.
Zitat das Programm hat eine eigene API, leider Phyton ;-)

Ein guter Grund Phyton zu lernen. Genau deshalb machen wir das.
----
Ich danke euch sehr für die vielen Antworten. Leider muss ich heute Kekse verdienen und darf nicht mit der Phyton spielen. ;)
Falls wir was entwickeln das benutzbar ist lass ich es euch wissen.

(Was nicht bedeuten soll das ich diese Diskussion beenden will, nur daß ich mich nicht sofort ranklemmen kann.)

Einen erfolgreichen Tag wünsch ich euch

:F


als Antwort auf: [#499380]
X