сохранить параметры InDesign ScriptUI в файле и загрузить при следующем запуске - PullRequest
0 голосов
/ 02 августа 2020
• 1000 -регулировка при следующем запуске и те же настройки включены для диалога.

Есть ли такая возможность?

введите описание изображения здесь

1 Ответ

3 голосов
/ 03 августа 2020

Да, вы можете использовать функцию этикеток для сохранения любой информации в любых объектах 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.

...