Возможно ли сохранять параметры скрипта в файле .indd?

  • Автор темы Автор темы Oleh Melnyk
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.

Oleh Melnyk

Участник
Топикстартер
Сообщения
23
Реакции
6
основная идея такая: хранить параметры скрипта прямо в .indd файле, и при запуске скрипта он будет делать проверку - если параметры заданы - скрипт будет выполняться не показывая диалоговое окно с параметрами.. - так можно много чего интересного нашаманить с ивент-листнерами и т.п.

и вообще есть идея сделать фреймворк для скриптигна: https://forums.adobe.com/message/6930253#6930253
 
да, спасибо! пробовал, но недопробовав видно - меня сбило с пути то, что эти лейблы не видны, и к ним можно обратиться только на прямую, если знаешь их ключ и что они там вообще есть..

Function syntax for writing label:
Код:
app.activeDocument.insertLabel('myLabel', 'myLabelValue');
IMPORTANT: If we forget label name, label is LOST! Really?!?! YEAH, REALLY! :D

Function syntax for reading label:
Код:
var myLabel = app.activeDocument.extractLabel('myLabel');

http://indisnip.wordpress.com/2010/07/31/saving-script-data-within-document/
 
  • Спасибо
Реакции: bossrus
эти лейблы не видны
На документ не видны, а на объекты верстки видны и доступны для редактирования прямо в индизайне. По-русски окно называется "Ярлык сценария".
Можно и в документ инфо прописать нужные данные.
 
На документ не видны, а на объекты верстки видны и доступны для редактирования прямо в индизайне. По-русски окно называется "Ярлык сценария".
Можно и в документ инфо прописать нужные данные.

это разные лейблы
те, что с ключом не видны. да оно и хорошо
 
IMPORTANT: If we forget label name, label is LOST! Really?!?! YEAH, REALLY!
Это, мягко говоря, не совсем так.
Для того, чтобы получить все пары label/value нужно экспортировать документ в idml и открыть файл designmap.xml в корне архива. У элемента Document есть вложенный элемент Properties:
Код:
<Properties>
        <Label>
            ...
            <KeyValuePair Key="test" Value="i_forgot_this_label_name" />
        </Label>
    </Properties>
Вот таким скриптом устанавливал значение:
Код:
app.activeDocument.insertLabel('test', 'i_forgot_this_label_name');
 
Это, мягко говоря, не совсем так.
Для того, чтобы получить все пары label/value нужно экспортировать документ в idml и открыть файл designmap.xml в корне архива. У элемента Document есть вложенный элемент Properties:
Код:
<Properties>
        <Label>
            ...
            <KeyValuePair Key="test" Value="i_forgot_this_label_name" />
        </Label>
    </Properties>
Вот таким скриптом устанавливал значение:
Код:
app.activeDocument.insertLabel('test', 'i_forgot_this_label_name');
нет, ну это понятно что от дирявости моей памяти программа не зависит, и она не может знать помню ли я как лейблы называл, а значит они где-то же хранятся, но проблема в том, что к ним проблематично докопаться..

хотелось бы иметь возможность обратиться к ним например так:
Код:
app.activeDocument.properties.labels["test"];
а не экспортировать файл в idml и рыться в XML каждый раз
 
@Oleh Melnyk, для того, чтобы делиться полезными ресурсами так, чтобы они не терялись, на форуме есть "Ресурсы". Разместите Ваш скрипт там.
(Как правильно выкладывать файлы в «Ресурсы»)

Не по теме:
форум по скриптинге (автоматизации работы), а чтобы скрипт загрузить надо сделать кучу ненужных телодвижений.. сначала заархивировать скрипт, затем загрузить его в специальной раздел, затем скопировать ссылку с форума в раздел куда загрузил скрипт, затем скопировать ссылку на скрипт и вставить ее на форуме.. ужос 'shok2'

надо так сделать: прямо к сообщению прикрепляется файл - в любом формате - дальше сайт проверяет файл на вирусы, и если этот формат не отображается в браузере (не картинки и не пдф) - тогда архивирует, кладем архив в ресурсы, и прикрепляем к сообщению на форуме..

 

Не по теме:
а чтобы скрипт загрузить надо сделать кучу ненужных телодвижений..
Вы бы потратили на это меньше времени, чем на обдумывание и написание этого Вашего сообщения.
Во избежание флуда тема закрывается; если будет, что сказать по теме — пишите в личку, открою.

 
Статус
Закрыто для дальнейших ответов.