[AI CC2026] Привести все изображения к масштабу 100 % и одинаковому разрешению

  • Автор темы Автор темы lmn1
  • Дата начала Дата начала
Еще версия '%)'

Погонял на тестах, немного изменил интерфейс, исправил ошибку при работе на сетевых дисках. Тестирование было на Mac, Windows, на локальных и сетевых дисках.
Не исключаю, что в бою могут вылезти баги. В частности, если Photoshop при открытии файла запрашивает использование профиля, процесс будет висеть, пока пользователь не подтвердит действие. Но это не баг, а фича)
 

Вложения

  • Спасибо
Реакции: lmn1
Описание блока конфигурации

Основное — меняется по задаче​

ПараметрЗначениеЧто делает
targetPpi300Разрешение, предложенное в диалоге. Пользователь может изменить его при запуске, здесь задаётся значение по умолчанию
originalsFolderLinks/AIResizeAndCrop/OriginalsКуда выгружаются исходники внедрённой графики
processedFolderLinks/AIResizeAndCrop/ProcessedКуда пишутся обработанные PSD

Имена файлов​

ПараметрЗначениеЧто делает
unembedPrefixunembedded_Приставка к имени PSD, выгруженного из внедрённой графики
derivativePrefixcrПриставка к разрешению в имени обработанного файла: имя__cr300_001.psd
embeddedFallbackNameembeddedИмя-заглушка, если у внедрённой картинки своего нет

Обрезка по маске​

cropSafety: 0 — припуск под маской, в пикселях результата. Значение знаковое:
  • больше нуля — битмап заведомо перекрывает маску, возможен перехлёст;
  • ноль — округление наружу до целого пикселя, перехлёст меньше одного пикселя;
  • меньше нуля — битмап строго внутри маски, возможен волосяной просвет вдоль края.
Полного совпадения не существует: кроп ложится на целые пиксели, край маски — почти никогда, и дробный остаток кому-то достаётся.

Допуски — трогать по необходимости​

ПараметрЗначениеЧто делает
shiftMm0.01Допустимый сдвиг графики, в миллиметрах
boundsMm0.1Допуск при сверке матрицы с фактическими границами
replaceMm0.1Допустимый сдвиг границ при замене внедрённой графики на ссылку
ppiTolerance0.5Превышение разрешения, которое ещё считается нормой
idleRatio0.002Разница меньше этой доли стороны означает, что работы нет
psTimeout300Сколько секунд ждать Photoshop

Служебное — менять не нужно​

linearTolerance — допуск на коэффициенты матрицы, безразмерный.
scaleFactor — множитель Large Canvas, значение 1 здесь лишь заглушка: при запуске оно заменяется реальным из документа.
actionSet, actionName — имена временного экшена замены, который создаётся и удаляется в пределах одного прогона.
 
Последнее редактирование:
  • Спасибо
Реакции: lmn1
Протестил на файле, из-за которого эту тему и создал. В нем 8 монтажных областей, это развороты брошюры. 70 разных изображений, некоторые меньше 300 ппи, некоторые больше, некоторые в масках, некоторые нет. Объем 2,5 Гб (!), многовато...
Компьютер i7-11700, 32 RAM, GTX 1660 Ti 6 Гб.

Вариант с обработкой только в Иллюстраторе работал минут 15 (я уж думал, что подвис). Уменьшил размер файла до 346 Мб. Исправно уменьшил разрешение до 300. Где было меньше - ничего не менял. Жаль, что не обрезал по форме маски. Наверное, это в Иллюстраторе через скрипт не решается?

Вариант с обработкой в Фотошопе работал чуть дольше, минут 20 примерно (тоже думал, что подвис). Уменьшил размер файла до 832 Мб плюс папка с линками 111 Мб. Но обработал не все изображения. В конце выдал список ошибок, я думал, будет лог, поэтому закрыл окошко и не запомнил ошибки. Возможно, файл слишком большой.

В целом хорошо. Я бы добавил какой-то прогресс-бар, чтобы не пугаться долгой работы.
Запущу еще раз позже, чтобы ошибки зафиксировать. Кстати, может, тоже лог какой-нибудь добавить? Или возможность скопировать ошибки в буфер обмена?
 
  • Спасибо
Реакции: netik
А проблему с UserUnit решил путем копирования содержимого в новый файл. Заодно в новом файле сделал не 8, а 16 монтажных областей вплотную друг к другу, чтобы получилось 16 страниц, из которых можно сделать нормальный постраничный pdf.
 
Для картинок, которые внедрены силами иллюстратора, кроп не делается, только понижается разрешение. Кроп только через фотошоп, если картинка была внедрена, она становится линком. Можно, конечно, такую картинку снова внедрить.
На тяжелом файле не тестировал. Можно через личное сообщение поделиться ссылкой на каталог, погоняю скрипт на нем.
 
Последнее редактирование:
Вот что бывает, когда для работы выбирается неверный инструмент и неверный подход к работе (верстка разворотами)
 
  • Спасибо
Реакции: lmn1 и Jeine

Не по теме:

Но нет, работа как по "вёрстке", так и по скрипту будет продолжена, пока мыши не наедятся как следует.


16 страниц, из которых можно сделать нормальный
Нормальный не получится.
 
Последнее редактирование:
Вот что бывает, когда для работы выбирается неверный инструмент и неверный подход к работе (верстка разворотами)
ну так пальто не мое. Мне только пуговицы пришить нужно:) В комплекте был еще буклетик с кучей разноформатного текста в psd. Люди работают кто в чем может...
 

Не по теме:

Но нет, работа как по "вёрстке", так и по скрипту будет продолжена, пока мыши не наедятся как следует.



Нормальный не получится.
Получился уже:) Только пришлось в панели Artdoards передвинуть первую в самый конец.
 
Кому и кобыла невеста.
 
  • Спасибо
Реакции: zollinger
Запустил еще раз тот же файл с обработкой фотошопом. Пыхтел минут 20, но в этот раз сделал почти все. Размер файла уменьшился до 130 Мб плюс папка с линками 330 Мб. Одно изображение не обработал. И если выбрать только его и обработать отдельно, то тоже не обрабатывает.

Надпись Large Canvas 10:1 - это просто для информации? Или скрипт этот параметр должен менять на 1? Не меняет. т.к. при записи pdf разрешение картинок падает до 30.

0002.JPG
 
Я все еще пытаюсь постигнуть смысл данного мероприятия
 
Протестил на файле, из-за которого эту тему и создал. В нем 8 монтажных областей, это развороты брошюры. 70 разных изображений, некоторые меньше 300 ппи, некоторые больше, некоторые в масках, некоторые нет. Объем 2,5 Гб (!), многовато...
Компьютер i7-11700, 32 RAM, GTX 1660 Ti 6 Гб.

Вариант с обработкой только в Иллюстраторе работал минут 15 (я уж думал, что подвис). Уменьшил размер файла до 346 Мб. Исправно уменьшил разрешение до 300. Где было меньше - ничего не менял. Жаль, что не обрезал по форме маски. Наверное, это в Иллюстраторе через скрипт не решается?

Вариант с обработкой в Фотошопе работал чуть дольше, минут 20 примерно (тоже думал, что подвис). Уменьшил размер файла до 832 Мб плюс папка с линками 111 Мб. Но обработал не все изображения. В конце выдал список ошибок, я думал, будет лог, поэтому закрыл окошко и не запомнил ошибки. Возможно, файл слишком большой.

В целом хорошо. Я бы добавил какой-то прогресс-бар, чтобы не пугаться долгой работы.
Запущу еще раз позже, чтобы ошибки зафиксировать. Кстати, может, тоже лог какой-нибудь добавить? Или возможность скопировать ошибки в буфер обмена?
Добавил прогресс бар на весь процесс работы, если при работе возникает ошибка рядом с рабочим файлом пишется лог - AIResizeAndCrop_log.txt, если ошибки нет, лога не будет. Если он совсем не нужен его можно отключить в конфиге. Временный файл иллюстратор теперь создает один раз, а не под каждую картинку, должно быть чуть быстрее.
 

Вложения

Запустил еще раз тот же файл с обработкой фотошопом. Пыхтел минут 20, но в этот раз сделал почти все. Размер файла уменьшился до 130 Мб плюс папка с линками 330 Мб. Одно изображение не обработал. И если выбрать только его и обработать отдельно, то тоже не обрабатывает.

Надпись Large Canvas 10:1 - это просто для информации? Или скрипт этот параметр должен менять на 1? Не меняет. т.к. при записи pdf разрешение картинок падает до 30.

Посмотреть вложение 182515
Large Canvas — только для информации, скрипт не может изменить это свойство документа. Вы можете пересохранить документ в формат СС, в те далекие времена Illustrator еще ничего не знал о Large Canvas, формально документ уничтожит атрибут Large Canvas, но вот что произойдет физически с файлом, неизвестно. На вашем тестовом, который вы прикладывали здесь в сообщение, всё вроде нормально.
 
Смысл данного предприятия я вижу так:
Пришел файл. 2,5 Гб. С ним надо поработать - разбить развороты на страницы, перекрасить составной черный в текстах, добавить дозаливки и т.п. Грамматические ошибки клиент нашел в последний момент, куда ж без этого. И выгнать постраничный pdf, из которого потом сделать спуск. Хочется по быстрому уменьшить размер путем уменьшения разрешения до 300 и обрезки по маске. Нормальная хотелка, по-моему.
Ну а как тут лучше поступить? Вариант предложить клиенту все переделать не подходит.

Скрипт netik'a делает это, хоть и не очень быстро, за что ему и спасибо.

Вначале была еще засада с даунсайзингом при сохранении в pdf - разрешение падало до 30. Но это решилось копи-пастом в новый документ. И здесь скрипт хоть подсказывает, что засада есть и где ее искать.