如何将 javascripts 添加到我的 InDesign Server Java Web 应用程序?

Posted

技术标签:

【中文标题】如何将 javascripts 添加到我的 InDesign Server Java Web 应用程序?【英文标题】:How to add javascripts to my InDesign Server Java web app? 【发布时间】:2012-07-24 15:35:39 【问题描述】:

我编写了一个简单的基于 Java (1.5) 的 Web 应用程序(部署在 Tomcat-6 服务器上),它使用 CORBA 与 InDesign 服务器通信。

在我设法添加作业选项(存储在文件系统中的单独文件中)之后,我想对已经在 InDesign 客户端中正常工作的 javascript 文件执行相同的操作。不幸的是,我无法确定如何将脚本“挂钩”到我的 CORBA 应用程序中,就像我对工作选项所做的那样。

不幸的是,官方文档没有告诉我如何做到这一点。谁能提供帮助?

【问题讨论】:

【参考方案1】:

在翻阅了大量文档(不存在 ;))javadocs 以及官方和非官方 adobe 论坛之后,我自己找到了解决方案。

CORBA 应用程序拥有一个未记录的方法doScript(arg0, arg1, arg2, arg3, arg4),它确实执行脚本。像这样的代码 sn-p 执行 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);

希望任何人都可以确认这一点。 :)

【讨论】:

以上是关于如何将 javascripts 添加到我的 InDesign Server Java Web 应用程序?的主要内容,如果未能解决你的问题,请参考以下文章

如何将 js 文件添加到我的 xcode 项目中?

如何将谷歌地图位置添加到我的网站

如何将另一个矩阵雨代码动画添加到我的画布动画中?

如何将带有 django 标签的 javascript 代码加载到我的 django 模板中

如何强制 MyEclipse 将 JavaScript 文件热部署到我的 JBoss 实例?

如何将 python 命令行工具添加到我的 PATH?