2012-07-24 21 views
2

我编写了一个简单的基于Java(1.5)的Web应用程序(部署在Tomcat-6服务器上),该应用程序使用CORBA与InDesign服务器进行通信。如何将JavaScript添加到我的InDesign Server Java Web应用程序?

当我设法添加作业选项(存储在文件系统内的单独文件中)后,我想对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); 

希望任何人都可以证实这一点。 :)

相关问题