[ID CC-CC2021] Замена Свочей в выделенных объектах

Slx1

Топикстартер
15 лет на форуме
Сообщения
944
Реакции
106
что именно показано на скрине?
давайте так, а то это обсуждение растянется еще на 7 листов ;)

макеты приходят какие есть (без стилей, в том числе табличных) "лечить" клиента в каком виде присылать файлы никто не будет , не те времена

пообъектно протыкивать (да еще и создавать стили) весь нужный массив имея метод с удалением и подменой свочей как бы можно наверно но.... ))
 

Любимцев

15 лет на форуме
Сообщения
4 208
Реакции
2 058
Создать стили, их и применять к найденным объектам (или руками "протыкивать", как уж угодно).
Пока я вижу, что вам нужно мух от котлет отделить таблицы от объектов
 

Slx1

Топикстартер
15 лет на форуме
Сообщения
944
Реакции
106

Slx1

Топикстартер
15 лет на форуме
Сообщения
944
Реакции
106
ищу способ по трудоемкости сопоставимый с этим
(только в выделенных объектах)



 

Андрей Викторов

15 лет на форуме
Сообщения
1 088
Реакции
267
макеты приходят какие есть (без стилей, в том числе табличных)
Может это уже задача для PitStopa?
Я бы в нем делал, если прислали фарш без стилей, а скорее всего и без свотчей тоже.
 

Slx1

Топикстартер
15 лет на форуме
Сообщения
944
Реакции
106
Может это уже задача для PitStopa?
Я бы в нем делал, если прислали фарш без стилей, а скорее всего и без свотчей тоже.

нет, свочи как раз есть
да они и создаются одно кнопкой если надо))

обычные нормальные макеты, получше многих (только без заморочек со стилями)
 

Любимцев

15 лет на форуме
Сообщения
4 208
Реакции
2 058
Времена всегда одни © (с соседней кино-полки)

Не по теме:
Все мы сталкивались с чужими криворукими макетами, вы тут Америки не открыли.
Казалось бы, что со временем таких станет меньше, но...



Свотч работает глобально по документу. Для того он и существует (тем более, что фиолетовый вообще удаляете).
Либо так, как делаете — из файла в файл
Либо поиск/замена, но поочередно...
 

Slx1

Топикстартер
15 лет на форуме
Сообщения
944
Реакции
106
так, нашел таки! 'dans))'
может еще кому понадобится (чтоб без стилей и питстопов '))'
жалко что в текстовом виде только (с цветом было бы информативнее)

JavaScript:
// ReplaceSwatch.jsx - замена Swatches
// версия 1
//
// Константин Смородский <smorodsky@gmail.com>
// ИД СПН, Санкт-Петербург, 2009 г.

#script 'ReplaceSwatch'
#target 'indesign'
#include 'ReplaceSwatch.jsxinc'
#include 'ProgressBarDialog.jsxinc'

var lngNoSelectedSwatch = 'Выберите пару Swatches для выполнения замены';

// применяет функцию fun к каждому элементу массива arr
function forEach(fun, arr)
{
    if (typeof fun != "function") throw new TypeError();
    for (var i = 0, l = arr.length; i < l; i++) fun(arr[i], i, arr);
}

var doc = app.activeDocument;
var sel = app.activeWindow.selection;

// Создаем диалог
var dialog = app.dialogs.add({name: 'ReplaceSwatch'});

// панели
if (sel.length)
{
    with (dialog.dialogColumns.add())
    {
        with (borderPanels.add().dialogColumns.add())
        {
            dialogRows.add().staticTexts.add({staticLabel: 'Replace with:'});
            var rbSource = radiobuttonGroups.add();
            rbSource.radiobuttonControls.add({staticLabel: 'Selected objects', checkedState: true});
            rbSource.radiobuttonControls.add({staticLabel: 'Current Document'});
        }
    }
}

with (dialog.dialogColumns.add())
{
    with (borderPanels.add().dialogColumns.add())
    {
        dialogRows.add().staticTexts.add({staticLabel: 'Find swatch:'});
        var rbFrom = radiobuttonGroups.add();
        forEach(function(i)
        {
            rbFrom.radiobuttonControls.add({staticLabel: i.name});
        },
        doc.swatches);
    }
}

with (dialog.dialogColumns.add())
{
    with (borderPanels.add().dialogColumns.add())
    {
        dialogRows.add().staticTexts.add({staticLabel: 'Cahnge to:'});
        var rbTo = radiobuttonGroups.add();
        forEach(function(i)
        {
            rbTo.radiobuttonControls.add({staticLabel: i.name});
        },
        doc.swatches);
    }
}

do
{
    // покажем диалог и если нажата кнопка Cancel - завершаем скрипт
    dialog.show() || exit();

    // проверим выбор пользователя
} while ((rbFrom.selectedButton == -1
        || rbTo.selectedButton == -1)
        && !alert(lngNoSelectedSwatch))

// делаем замены
var repaceSwath = new ReplaceSwatch();
repaceSwath.fromSwatch = doc.swatches[rbFrom.selectedButton];
repaceSwath.toSwatch = doc.swatches[rbTo.selectedButton];

if (rbSource && rbSource.selectedButton == 0)
{
    repaceSwath.progressBarDialog = new ProgressBarDialog('ReplaceSwatch', 0, sel.length, 1);
    repaceSwath.change(app.activeWindow, 'selection');
}
else
{
    var pbSteps = doc.allGraphics.length + doc.allPageItems.length + 1;
    repaceSwath.progressBarDialog = new ProgressBarDialog('ReplaceSwatch', 0, pbSteps, 1);
    repaceSwath.change(doc, ['allGraphics', 'allPageItems', 'footnoteOptions']);
}

repaceSwath.progressBarDialog.end();
 

Drawer

Участник
Сообщения
1 814
Реакции
799
Последнее редактирование:

Slx1

Топикстартер
15 лет на форуме
Сообщения
944
Реакции
106
хм, вроде весь код скопировал.... 'hmmm'
тогда так:

 
  • Спасибо
Реакции: Drawer

Masia

15 лет на форуме
Сообщения
127
Реакции
47
ищу способ по трудоемкости сопоставимый с этим
(только в выделенных объектах)



Посмотреть вложение 163133
Вопрос: на видео при удалении (с заменой) свотча градиент меняется. У меня в CS6 градиент не меняется при таком действии (тинт, кстати, тоже). С какой версии это изменилось?
Или я неправильно как-то удаляю? '%)'
 

Slx1

Топикстартер
15 лет на форуме
Сообщения
944
Реакции
106
Вопрос: на видео при удалении (с заменой) свотча градиент меняется. У меня в CS6 градиент не меняется при таком действии (тинт, кстати, тоже). С какой версии это изменилось?
Или я неправильно как-то удаляю? '%)'

видео c ID CC 2019 мас
 

Masia

15 лет на форуме
Сообщения
127
Реакции
47
так, нашел таки! 'dans))'
может еще кому понадобится (чтоб без стилей и питстопов '))'
жалко что в текстовом виде только (с цветом было бы информативнее)
Еще вопросик: у Вас скрипт Tint меняет?
 

Slx1

Топикстартер
15 лет на форуме
Сообщения
944
Реакции
106
Еще вопросик: у Вас скрипт Tint меняет?

Некорректный вопросик))
Меняется своч на своч, тинт везде при этом остается в значении до замены

Так вы просто попробуйте скрипт
 
Последнее редактирование:

Masia

15 лет на форуме
Сообщения
127
Реакции
47
Некорректный вопросик))
Меняется своч на своч, тинт везде при этом остается в значении до замены

Так вы просто попробуйте скрипт
Пробовала.
При удалении свотча в корзинку тинт (он же свотч, который колор, который тинт ) меняется, при применении скрипта - нет.
Поэтому вопрос возник: баг это или фитча скрипта? Или только у меня так срабатывает.

tint-deleteSwatch.gif vs tint-replaceSwatch.gif
 

Вложения

  • gradient_tint(idml).zip
    29.9 КБ · Просм.: 37

Slx1

Топикстартер
15 лет на форуме
Сообщения
944
Реакции
106
Пробовала.
При удалении свотча в корзинку тинт (он же свотч, который колор, который тинт ) меняется, при применении скрипта - нет.
Поэтому вопрос возник: баг это или фитча скрипта? Или только у меня так срабатывает.

Посмотреть вложение 163277 vs Посмотреть вложение 163278

возможно что то в консерватории