0

我在 InDesign 脚本中构建了一个包含任何选项的对话框。

我想将用户选择的设置保存在一个文件中(例如在一个名为 setting.ini 的文件中),以便在下次运行时不需要重新调整,并且为对话框启用了相同的设置。

有这种可能吗?

在此处输入图像描述

4

1 回答 1

4

是的,您可以使用标签功能将任何信息保存到任何 InDesign 对象。要保存下次运行脚本时要访问的对话框中的内容,将信息直接保存到应用程序对象中是最有意义的,这样即使在关闭并重新启动 InDesign 后它也可用(如反对将其保存到用户下次使用脚本时可能无法打开的文档中)。

一般的工作流程是这样的:

// after the user closes the dialog, save the settings they made to an object
var userChoice = {
  // save any info from the dialog, for example some settings about underlines
  underline: checkbox3.value,
  underlineWeight: edittext6.text,
  underlineOffset: edittext7.text,

  // etc. ...
};

// insert the given information into a script label, pick any arbitrary name
// use .toSource() to stringify the object in the process, labels can only save strings

app.insertLabel("ha_a_usersettings", userChoice.toSource());

现在信息已保存在应用程序本身中。下次运行脚本时,您可以从标签中检索信息,如下所示:

var savedSettings = eval(app.extractLabel("ha_a_usersettings"));

现在您可以继续并使用savedSettings变量中的属性预先填充对话框。

于 2020-08-02T21:00:07.083 回答