gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-30 11:42:35 24 4
gpt4 key购买 nike

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

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

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

最佳答案

在挖掘了大量文档(不存在的 ;) ) 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);

希望有人能证实这一点。 :)

关于java - 如何将 javascript 添加到我的 InDesign Server Java Web 应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11634364/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com