Как добавить JavaScript в мое веб-приложение InDesign Server Java?

Я написал простое веб-приложение на основе Java (1.5) (развернуто на сервере Tomcat-6), которое взаимодействует с сервером InDesign с использованием CORBA.

После того, как мне удалось добавить параметры задания (хранящиеся в отдельных файлах в файловой системе), я хотел бы сделать то же самое для файлов Javascript, которые уже отлично работают в клиенте InDesign. К сожалению, мне не удалось определить, как "подключить" сценарии к моему CORBA-приложению, как я это сделал с опциями работы.

К сожалению, официальные документы не говорят мне, как это сделать. Кто-нибудь может предложить помощь?

1 ответ

Решение

Перебрав тонны документации (не существует;)) Javadocs и официальных и неофициальных форумов Adobe, я нашел решение самостоятельно.

CORBA-приложение владеет недокументированным методом doScript(arg0, arg1, arg2, arg3, arg4), который действительно выполняет сценарии. Подобный фрагмент кода выполняет javascript (и, может быть, другие сценарии просто отлично):

String scriptPath = "/path/to/my/javascripts/"; // indesign server needs file access to this folder
VariableType file = VariableTypeUtils.createFile(scriptPath);

// ScriptLanguage.UNKNOWN - 1433299822
// ScriptLanguage.APPLESCRIPT_LANGUAGE - 1095978087
// ScriptLanguage.JAVASCRIPT - 1246973031

// do javascript
OptScriptLanguageEnum scriptType = OptArg.makeScriptLanguageEnum(1246973031);

// add values ...
VariableType[] params = new VariableType[1];
params[0] = VariableTypeUtils.createBoolean(true);
OptVariableTypeSeq args = OptArg.makeVariableTypeSeq(params);

// or if you got no args
args = OptArg.noVariableTypeSeq();

// undo modes
OptUndoModesEnum undoModes = OptArg.noUndoModesEnum();
// string to undo mode
OptString undoName = OptArg.noString();

// add to application
VariableType vt = gApp.doScript(file, scriptType, args, undoModes, undoName);

Надеюсь, что любой может подтвердить это.:)

Другие вопросы по тегам