[AI CC-CC2021] Overprint в Darken

netik

Unregistered User
Топикстартер
20 лет на форуме
Сообщения
359
Реакции
112
Нужен скрипт, меняющий в документе оверпринты на режим прозрачности darken. Поиск не дал результатов. Может у кого-то есть готовое решение?
 

dosp

Участник
Сообщения
1 157
Реакции
377
На всякий случай скажу - это не равнозначные режимы!
 

AZ-597

👹
10 лет на форуме
Сообщения
602
Реакции
242
JavaScript:
objects = app.activeDocument.pageItems;

for (var index = 0; index < objects.length; index++) {
    if (objects[index].fillOverprint == true) {
        objects[index].fillOverprint = false;
        objects[index].blendingMode = BlendModes.DARKEN;
    };
    if (objects[index].strokeOverprint == true) {
        objects[index].strokeOverprint = false;
        objects[index].blendingMode = BlendModes.DARKEN;
    };
};

Ну допустим так. Но есть нюансы...
Сами видите большущую проблему?
 
  • Спасибо
Реакции: densen, zollinger и netik

creold

Сергей Осокин
Сообщения
38
Реакции
58
Год назад в Телеграме у меня спрашивали про такое же. В простой версии алгоритм проходит объекты документа, которые имеют заливку спот цветом и у них включен оверпринт. Обводки здесь не учитываются

JavaScript:
(function(){
  var blendMode = BlendModes.DARKEN;

  if (!/illustrator/i.test(app.name)) return;
  if (!documents.length) return;

  // app.executeMenuCommand('ink'); // Overprint Preview switcher
  var doc = app.activeDocument;
  var len = doc.pageItems.length;
  var isChanged = false;

  for (var i = 0; i < len; i++) {
    var obj = doc.pageItems[i];
    if (obj.fillColor.typename == 'SpotColor' && obj.fillOverprint) {
      obj.blendingMode = blendMode;
      if (!isChanged) isChanged = true;
    }
  }

  if (isChanged) {
    alert('Overprint spot items have been changed to ' + blendMode.toString().split('.')[1] + ' blending mode.');
  } else {
    alert('Overprint spot items not found.');
  }
})();
 
  • Спасибо
Реакции: densen, netik и AZ-597

AZ-597

👹
10 лет на форуме
Сообщения
602
Реакции
242
Короче ладно, проблема такая:
Из скрипта мы можем добраться до blendingMode всего объекта,
но не можем добраться до blendingMode заливки и обводки по отдельности.
А через инструмент Appearance можем.
И обязательно доберёмся, чтобы сделать треппинг как на картинке, например.
На скрине видно о чём идёт речь.
В итоге ваша задача похоже не выполнима — нет доступа из скрипта, чтобы сделать всё по уму.

1720172170681.png
 

AZ-597

👹
10 лет на форуме
Сообщения
602
Реакции
242
Вот доказательство, кстати
 

~RA~

Одарённая.
12 лет на форуме
Сообщения
12 100
Реакции
3 519
А в чём она?

Похоже на
или
что-то нехорошее
и деструктивное.
 

AZ-597

👹
10 лет на форуме
Сообщения
602
Реакции
242
Ну так-то да, вообще надо бы знать ради чего это делается.
Я исходил из того что надо это сделать в рабочем макете. Просто надо и всё, вот хочется человеку.

Описанную мной проблему, может быть можно обойти: если разобрать показанную мной фигуру на обводку и заливку, то результат будет корректный. Получится ли сделать это из скрипта? Пока не понял как, наверное никак.
Но вообще это дичь конечно и как это будет работать на разных объектах остаётся загадкой.
Шансы загадить макет, мне кажется, ещё как есть :)
 

netik

Unregistered User
Топикстартер
20 лет на форуме
Сообщения
359
Реакции
112
Коллеги, задача элементарно «простая», поменять значение overprint в darken. Да, каюсь, ТЗ нет. Раз с помощью скрипта такую задачу не реализовать, то и ладно. А то что overprint не darken – знаю. Esko DeskPack в PowerTrapper использует darken и как-то ни кому это не мешает.
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 321
Реакции
10 877
Коллеги, задача элементарно «простая», поменять значение overprint в darken. Да, каюсь, ТЗ нет.
Ну так хотя бы уточнить можете - имеется в виду "darken" в виде аттрибута или аппэрэнса?
И кто сказал, что аппэрэнс недостижим из скрипта? При желании все достижимо, просто, несколько извращенными путями.
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 321
Реакции
10 877
Не понял, darken может быть присвоен, но не отображаться в Appearance?
Вот здесь посмотрите еще раз
Короче ладно, проблема такая:
Из скрипта мы можем добраться до blendingMode всего объекта,
но не можем добраться до blendingMode заливки и обводки по отдельности.
А через инструмент Appearance можем.
И обязательно доберёмся, чтобы сделать треппинг как на картинке, например.
На скрине видно о чём идёт речь.
В итоге ваша задача похоже не выполнима — нет доступа из скрипта, чтобы сделать всё по уму.

Посмотреть вложение 166683
Так какой именно режим вам нужен?