2012-06-27 1 views
0

Généralement, lorsque vous écrivez un script .jsx pour automatiser un produit Adobe (comme InDesign, Illustrator ou Photoshop), vous écrivez, déboguez et exécutez le script à partir du ExtendScript IDE. Est-il possible de contourner ExtendScript et d'exécuter le script à partir d'un troisième programme? J'ai écrit un script pour automatiser certains travaux d'After Effects. J'ai exécuté le script à partir d'ExtendScript IDE, mais maintenant je veux que l'utilisateur donne des arguments d'entrée à partir d'un formulaire html et puis quand il clique sur le bouton soumettre, je veux passer l'entrée utilisateur au script jsx puis exécuter automatiquement le script.Je veux exécuter un script jsx à partir d'un fichier html ou d'un script js

donc en gros je veux appeler le code jsx du html ou javascript code écrit dans le fichier html

Répondre

0

C'est difficile, mais il peut être atteint que si vous ne considérez pas que la page html exécutera le script, mais plutôt si le script cherche une configuration à apparaître grâce à la page html. Si vous êtes sur mac, vous pouvez écrire un applescript pour surveiller un dossier et exécuter le fichier jsx en cas de besoin.

Si vous pouvez vous permettre d'avoir InDesign gelé, pensez à utiliser $ .sleep() pour qu'il vérifie régulièrement un dossier. Une autre approche consiste à s'appuyer sur AS3 pour rendre InDesign disponible quand rien ne se passe du côté html. Last but not least, Ce sont des zones grises car les scripts doivent être exécutés par l'utilisateur dans la version de bureau du logiciel Adobe. Ce que vous essayez d'obtenir concerne davantage la gestion des scripts serveur. Compte tenu de votre budget, vous pouvez jeter un oeil à la solution de serveur InDesign. Pas de solutions de serveur pour Ai & Ps si.

Hope it helps,

Loic

+0

L'OP n'a jamais mentionné les détails, mais il/elle pourrait penser que la forme HTML est hébergée et exécutée côté client plutôt que résidant et exécuté côté serveur. par exemple. essentiellement en utilisant le côté client HTML et JS pour construire une interface graphique simple pour un script. Espérons que c'est le cas, plus facile à mettre en œuvre pour le PO. – David

0

Oui, il est faisable, mais d'effort dépend de votre plate-forme. Et ce que je présente est une solution côté client, comme l'a mentionné Loic, si vous visez qu'un utilisateur distant frappe votre page Web sur un serveur pour faire cela, cela ne fonctionne pas vraiment. Il vaut mieux construire un service web qui fait tout cela et ensuite avoir un formulaire HTML invoquer le service web.

Pour les formulaires HTML, vous devez utiliser Windows et exécuter le code JSX en fournissant les arguments/paramètres nécessaires à partir du formulaire en utilisant le code VBScript ou javascript (via Microsoft JScript) encapsulé dans une balise de script le fichier HTML. Le code VB/JS peut se trouver dans les balises de script ou être extrait d'un fichier VBS/JS externe via la balise de script. En utilisant cette solution, votre fichier HTML doit être nommé avec l'extension ".hta" et non ".htm" ou ".html". Et vous pouvez ajouter quelques balises d'élément HTA supplémentaires au fichier.

Voir ce pour plus de détails: http://en.wikipedia.org/wiki/HTML_Application

L'avantage de HTA est que les restrictions de sécurité du navigateur contre le système de fichiers local sont supprimés à la différence des pages HTML traditionnels, ainsi vous obtenez un accès supplémentaire comme pouvoir utiliser VBScript (plutôt que javascript pour les pages HTML) et utiliser des objets COM. L'astuce ici est que nous allons utiliser l'API COM de l'application Adobe pour exécuter le fichier JSX.

Si sur Mac, vous n'avez pas un équivalent similaire, je crois. Par conséquent, votre autre option consiste à créer une interface graphique similaire à un formulaire HTML, mais il s'agit en fait d'une application de bureau pour Mac (par exemple wxWidgets, Qt, application Mac native, application Java GUI). Avec cette GUI construite, elle peut exécuter JSX via Applescript, car de nombreux langages (Java, Python, etc.) devraient avoir une interface de pont Applescript.Dans le pire des cas, vous pouvez exécuter un shell Applescript en lui passant les arguments que Applescript transmet ensuite au fichier de script JSX.

Quant à la façon de passer des arguments à fichier JSX et l'exécuter en dehors de ExtendScript IDE, voir ce SO message:

Is it possible to execute JSX scripts from outside ExtendScript?

Ce que je viens de mentionner sur la forme HTML ou une application GUI est tout simplement interagissais que aux solutions SO post.

Questions connexes