我在 InDesign 脚本中构建了一个包含任何选项的对话框。
我想将用户选择的设置保存在一个文件中(例如在一个名为 setting.ini 的文件中),以便在下次运行时不需要重新调整,并且为对话框启用了相同的设置。
有这种可能吗?
我在 InDesign 脚本中构建了一个包含任何选项的对话框。
我想将用户选择的设置保存在一个文件中(例如在一个名为 setting.ini 的文件中),以便在下次运行时不需要重新调整,并且为对话框启用了相同的设置。
有这种可能吗?
是的,您可以使用标签功能将任何信息保存到任何 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
变量中的属性预先填充对话框。