Идеи для скриптов

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

Kuzmin

15 лет на форуме
Сообщения
236
Реакции
92
Ответ: Идеи для скриптов

sergeyjurnal сказал(а):
Было бы здорово иметь скрипт, который показывал избыточное разрешение прилинковынных фотографий. Например: все те которые выше эффективных 350 ppi.
Возможно подойдет TotalPreflight (не проверял).
Подойдет LinkList.
 

dizzy

Участник
Сообщения
425
Реакции
1
Ответ: Идеи для скриптов

Нужны пару скриптов. Один очень простой и очень нужен:

Необходимо чтобы выделеные битмапы (eps, tif, psd, да пофиг какие), открывались по пути указанные в метке (Label) кои присобачены к самому битмапу, либо к фрэйму его содержащему либо к сгруппированным фрэймам. Да и открывались именно в той программе, коя их открывает по умолчанию. Ну как бы это всего пару строк, если не считать там разного рода проверки (на наличие открытых документов, и т.д.) Просто я не силен в JS, но на сколько знаю в нем это проще всего осуществить. Да и желательно, если док уже открыт, чтоб он его поновой не открывал. Всмысле если несколько битмапов ссылаются на один док. Повторюсь - ЖЕЛАТЕЛЬНО! Очень нужен, не откажите в милости!

Второй посложнее, не к спеху, и возможно уже создан во благо всем смертным:

Распространенная проблема, когда заливаешь текст, а он либо не влазит, либо место остается. Я ее решаю сокращая/расширяя межбуквенное растояние (Tracking), если мало - уменьшаю/увеличиваю ширину букв (Horisontal scale). Технически я думаю это будет выглядеть приблизительно так. Сначала у всего текста меняется межбуквенное расстояние и ширина букв до тех пор пока весь фрейм максимально не заполнится. Затем если все встало ровно то меняются межбуквенное расстояние и ширина букв в обратном порядке у отдельных абзацев, до тех пор, пока сохраняется количество строк. Если же не встало ровно, то вперед локально по абзацам доводится полного заполнения.

Хорошо бы было если бы можно еще было регулировать критические значения Tracking и Horisontal scale. И если никак - то выкидывало предупреждение мол надо сократить Х строк, а в данных рамках возможно тока Y.

Понятья не имею насколько это реально осуществить, но хотелось бы иметь такой скриптик себе на вооружение.
 

vbatushev

20 лет на форуме
Сообщения
2 242
Реакции
1 227
Ответ: Идеи для скриптов

Первый скрипт далеко не несколько строк, если учитывать проверку на то, открыт битмап или нет в какой-то программе (вообще не представляю, как отследить из JS, открыт ли, скажем, BMP в PaintBrush'е или в ACDSee).
Не очень понятно, почему путь к нему надо держать в метке. У Link есть такой параметр filePath, который содержит ссылку на объект File. Тот самый, который у нас битмапом лежит.
PHP:
with(app) {
if (documents.length > 0) {
   if(selection.length > 0) {
       if(selection[0].images.length == 1) {
           var myFile = selection[0].images[0].itemLink.filePath;
           myFile.execute();
       }
   }
}
}

IMHO, для подобных вещей несложно выучить и JS.
 

dizzy

Участник
Сообщения
425
Реакции
1
Ответ: Идеи для скриптов

Ладно, придется объяснится. Я создал не так давно кореловский макрос, кой собирает макет в индюке. Ну и в метку ставит, как не сложно уже догадаться, путь кореловского исходника. Дабы в последствии можно было бы открыть из индюка исходник, а не рыться по папкам. Мотив думаю понятен. Ну и проверка на наличие открытого документа, как вы теперь понимаете в кореле. Опять таки ЖЕЛАТЕЛЬНО! Всмысле я уже предугадал, что это может быть не так уж и просто. Думаю теперь понятно, что путь линка мя мало интересует...
 

vbatushev

20 лет на форуме
Сообщения
2 242
Реакции
1 227
Ответ: Идеи для скриптов

Да уж, запутано.
"Открытость" в кореле проверять не удастся, разве сделаете на VB (или на чем-то еще, но точно не на ExtendScript) программулину, которая будет обращаться COM'ам и корела, и индезайна.

with(app) {
if (documents.length > 0) { if(selection.length > 0) {
if(selection[0].images.length == 1) {
if (selection[0].label == '') {
var myFile = selection[0].images[0].itemLink.filePath;
} else {
var myFile = new File(selection[0].label);
}
myFile.execute();
}
} } }

P.S. Кстати, а, может, моя идея про программулину для связки индез/корел как раз то, что нужно? Тем более, что VB Вам известен.
 

dizzy

Участник
Сообщения
425
Реакции
1
Ответ: Идеи для скриптов

Виталий -то что нужно! Спасибо! За некоторым исключением. Хотелось бы чтобы открылись все пути в метках всех выделенных объектов, а не только в одном. Ну то есть в выделении шел пересчет всех графических объектов. В кореле на VBA будет че-то типа:
Код:
For Each myShape In ActiveSelection.AllGraphics
          myFile = myShape.Label
Next myShape
Чушь конечно написал. Но для илюстрации сгодится...
vbatushev сказал(а):
Да уж, запутано.
"Открытость" в кореле проверять не удастся, разве сделаете на VB (или на чем-то еще, но точно не на ExtendScript) программулину, которая будет обращаться COM'ам и корела, и индезайна.
Думаю проблем не будет. Чичас попробовал в Кореле открыть два одинаковых документа - не вышло. Показал уже открытый. Хотя через скрипт может и выйдет казус.
vbatushev сказал(а):
P.S. Кстати, а, может, моя идея про программулину для связки индез/корел как раз то, что нужно? Тем более, что VB Вам известен.
Что за идея? Не в курсе...
 

vbatushev

20 лет на форуме
Сообщения
2 242
Реакции
1 227
Ответ: Идеи для скриптов

Дык я написал, что за идея:
разве сделаете на VB (или на чем-то еще, но точно не на ExtendScript) программулину, которая будет обращаться COM'ам и корела, и индезайна

Кстати, и объект Image, и объект EPS имеют свой параметр Label.

Можно этим воспользоваться:

If myID.Selection.Count > 0 then
For Each mySel in myID.Selection
For Each myImg in mySel.Images
myPath = myImg.Label
Next
For Each myEPS in mySel.EPSs
myPath = myEPS.Label
Next
Next
End If

Но какое же гано этот VB, я уже наизнанку вывернулся с его "массивами".
 

dizzy

Участник
Сообщения
425
Реакции
1
Ответ: Идеи для скриптов

Виталий, вроде что Вы что я в Сибири живем, по русски обчаемся, а друг доруга ни фига не понимаем... Повторюсь, Ваш скрипт на JS мя устроил, за исключением того что написал выше. Добавьте в него пересчет всех битмапов в выделении, и фиг с ним с остальным. А то что VB гано, я и так в курсе. В данном случае точно...
 

Strizh

Топикстартер
15 лет на форуме
Сообщения
982
Реакции
92
Ответ: Идеи для скриптов

dizzy сказал(а):
Второй посложнее, не к спеху, и возможно уже создан во благо всем смертным:
Есть нечто похожее (правда плагин, быстрее работает), впихивает текст в одну строку в ячейку таблицы, настраиваится "критическая масса" как в твоем предложении.
Писался за деньги. Если надо, в приват.
 

vbatushev

20 лет на форуме
Сообщения
2 242
Реакции
1 227
Ответ: Идеи для скриптов

Ну, на JS, что-то типа:
PHP:
with(app) {
	if (documents.length > 0) { if(selection.length > 0) {
		// Копошимся в выделениях
		for (i = 0; i < selection.length; i ++) {
			// Перебираем Images (JPG, TIFF, PSD и прочий битмап)
			for (img = 0; img < selection[i].images.length; img++) {
				// И еееесли лейбл не пуст
				if (selection[i].images[img].label != '') {
					// Пробуем запустить файл на основании данных из лейбла
					try {
						var myFile = new File(selection[i].images[img].label);
						myFile.execute();
					} catch(e) {}
				}
			}
			// Перебираем EPS
			for (img = 0; img < selection[i].epss.length; img++) {
				if (selection[i].epss[img].label != '') {
					try {
						var myFile = new File(selection[i].epss[img].label);
						myFile.execute();
					} catch(e) {}
				}
			}
		}
	}}
}
 

dizzy

Участник
Сообщения
425
Реакции
1
Ответ: Идеи для скриптов

К сожалению только сейчас появилась возможность проверить все на практике. Спасибо огромное - все работает! То что надо...
 

dizzy

Участник
Сообщения
425
Реакции
1
Ответ: Идеи для скриптов

Слегка подправил код.
PHP:
with(app) { 
    if (documents.length > 0) { if(selection.length > 0) { 
        // Копошимся в выделениях 
        for (i = 0; i < selection.length; i ++) { 
            // Перебираем Images (JPG, TIFF, PSD и прочий битмап) 
            for (img = 0; img < selection[i].allGraphics.length; img++) { 
                // И еееесли лейбл не пуст 
                if (selection[i].allGraphics[img].label != '') { 
                    // Пробуем запустить файл на основании данных из лейбла 
                    try { 
                        var myFile = new File(selection[i].allGraphics[img].label); 
                        myFile.execute(); 
                    } catch(e) {} 
                } 
            } 
        } 
    }} 
}
И короче и правильнее. Да и сгруппированные битмапы пересчитывает.
 

vbatushev

20 лет на форуме
Сообщения
2 242
Реакции
1 227
Ответ: Идеи для скриптов

Было указано битмапы, а ни EPS, ни PDF, ни WMF (насчет PICT ничего не скажу, но, видимо, тоже вектор) битмапами не являются. Но раз уж EPS был упомянут я его и добавил отдельным перебором.

Учимся корректно составлять техзадание :)
 

dizzy

Участник
Сообщения
425
Реакции
1
Ответ: Идеи для скриптов

vbatushev сказал(а):
Было указано битмапы, а ни EPS, ни PDF, ни WMF (насчет PICT ничего не скажу, но, видимо, тоже вектор) битмапами не являются. Но раз уж EPS был упомянут я его и добавил отдельным перебором.

Учимся корректно составлять техзадание :)
Хм... Логично... Учту:)
 

sergeyjurnal

Участник
Сообщения
69
Реакции
0
Ответ: Идеи для скриптов

Есть идея для очень полезного скрипта.
Этот скрипт выравнивал бы текст, в правой колонке, по тексту, в левой колонке. Например: выделяем левую и правую колонки с текстом, запускается скрипт и выравнивание происходит по верху букв ближайшей строчки правой колонки с ближайшей правой. Примеры до выравнивания и после привожу. Этот скрипт будет полезен всем тем, кто не пользуется выравниванием по базовым линиям.
 

Вложения

  • Nachalo.jpg
    Nachalo.jpg
    28.8 КБ · Просм.: 1 061
  • Rezultat.jpg
    Rezultat.jpg
    29.2 КБ · Просм.: 1 094

sergeyjurnal

Участник
Сообщения
69
Реакции
0
Ответ: Идеи для скриптов

Ещё неплохо иметь в копилке скрипт который будет анализировать в открытом документе все картинки и выводить в виде текста пути к тем картинкам, у которых избыточное эффективное разрешение выше 350 dpi.
 

sakhar

Professional
15 лет на форуме
Сообщения
1 550
Реакции
134
Ответ: Идеи для скриптов

sergeyjurnal сказал(а):
Ещё неплохо иметь в копилке скрипт который будет анализировать в открытом документе все картинки и выводить в виде текста пути к тем картинкам, у которых избыточное эффективное разрешение выше 350 dpi.
Де Жавю?
http://forum.rudtp.ru/showpost.php?p=271566&postcount=60
 

digitaldog

Участник
Сообщения
7
Реакции
0
Ответ: Идеи для скриптов

нигде ничего нет для автоматизации создания сложных многоугольников, да еще и со скруглениями?
369720639_33e0e76935_o.gif
 

sakhar

Professional
15 лет на форуме
Сообщения
1 550
Реакции
134
Ответ: Идеи для скриптов

В дистрибутиве CS2 есть скрипт CornerEffects.jsx.
Есть еще скрипт на тулбоксе http://toolbox.rudtp.ru/index.php?id=110
 
Статус
Закрыто для дальнейших ответов.