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

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

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

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

【问题讨论】:

    标签: java javascript corba indesign-server


    【解决方案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);
    

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-10-19
      • 2016-10-13
      • 1970-01-01
      • 1970-01-01
      • 2011-02-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多