[AI CC2017] Как Вывести скрипт на панель в AI

Denis M

Участник
Топикстартер
Сообщения
1
Оценка реакций
0
Как Вывести скрипт на панель в AI, чтобы постоянно не выбирать его через (ctrl+F12) проводник?
 

qsedftghk

фея
10 лет на форуме
Сообщения
1 450
Оценка реакций
741
Можно панельку (окошко типа "palette") создать скриптом (например, см. jpg) и загружать её при запуске ила, или создать extensions панельку. И то, и то требует долгого и муторного написания кода.
Ну, или ищите, где-то здесь кто-то выкладывал скрипт, позволяющий размещать на панельку кнопки своих скриптов

Зы. Пока писал, Oleg уже нашёл решение
 

Вложения

Последнее редактирование:

_MBK_

Пикирующий бомбардировщик
12 лет на форуме
Сообщения
22 792
Оценка реакций
7 963
Насколько я помню, ScriptBay прекратили поддержку проекта задолго до топиковой версии
Если так, то самый правильный вариант (без написания собственного плагина/экстэншна) - вывести нужные скрипты прямо в подменю File
 

dredj

Участник
Сообщения
15
Оценка реакций
0
Можно ещё записать экшн с запуском этого самого скрипта и для удобства изменить вид списка на кнопки в палитре экшана.
 

_MBK_

Пикирующий бомбардировщик
12 лет на форуме
Сообщения
22 792
Оценка реакций
7 963
Кстати, странно, что под акробат никто ничего подобного не делал - а ведь там запуск скриптов на порядок заднепроходнее.
 

_MBK_

Пикирующий бомбардировщик
12 лет на форуме
Сообщения
22 792
Оценка реакций
7 963

Павел I

Участник
Сообщения
134
Оценка реакций
1
Вопрос не такой большой, поэтому скину в эту тему. Нашел скрипт, сохраняет слои в PDF. Вопрос в каком качестве (настройки) он это делает, из кода ведь можно узнать?

// scripted by Rassadin Pavel (RPV); e-mail: mf36@yandex.ru; data: 14.08.2006; freeware;

const mm = 72/25.4;
var doc = app.activeDocument;
var bleedBorder = 2 *mm;
var dialogStr = 'Write PDFpreset name';
var NamePreset = 'Acr 6 bleed 2 300';
var h = doc.height;
var w = doc.width;
var preffix = "_sb_";
var suffix = "";
var noname = "0";
var start = true;
if (documents.length > 0){
if (doc.saved==false) {
alert('File must be saved before execute script!!!','saveLayersToPDF',true);
start = false;
}
if (start){
if (str = prompt (dialogStr, NamePreset)) {
NamePreset = str;
if (checkPDFPresetName(NamePreset)){
var saveOptions = new PDFSaveOptions();
saveOptions.pDFPreset = NamePreset;
fullDocName = doc.fullName;
for (j=0; j<doc.layers.length; j++){
if ((doc.layers[j].printable == true)&&(doc.layers[j].locked == false)) {
doc.layers[j].locked = true;
nameLayer = doc.layers[j].name;
for (i=0; i<doc.layers.length; i++){
if (doc.layers.locked == false){
doc.layers.visible = true;
doc.layers.remove();
i = i-1;
}
}
for (i=0; i<doc.layers.length; i++){
doc.layers.locked = false;
doc.layers.visible = true;
}
var param = doc.name.split('.');
realDocName = param[0];
if (nameLayer == noname) docName = preffix+realDocName+suffix;
else docName = preffix+realDocName+'_'+nameLayer+suffix;
var saveName = new File ( doc.path + "/" + docName );
doc.saveAs( saveName, saveOptions );
doc.close(SaveOptions.DONOTSAVECHANGES);
doc = null;
app.open (fullDocName);
doc = app.activeDocument;
}
}
doc.close(SaveOptions.DONOTSAVECHANGES);
doc = null;
}
else {
alert('Wrong PDFPreset name!!!','saveLayersToPDF',true);
}
}
}
}


function checkPDFPresetName(NamePreset){
var a = false;
for (i=0; i<app.PDFPresetsList.length; i++ ){
if (app.PDFPresetsList == NamePreset) a = true;
}
return a;
}
 

andrejK

12 лет на форуме
Сообщения
9 305
Оценка реакций
4 842
он же при запуске у вас спрашивает имя сохранённого пресета)))

прям на чистом вражеском языке
Write PDFpreset name
 
Последнее редактирование:

_MBK_

Пикирующий бомбардировщик
12 лет на форуме
Сообщения
22 792
Оценка реакций
7 963
Буквально только что писал, но, похоже, меня снова все игнорируют 'stick'
Для постинга кусков кода в чудноновом движке есть такой замечательный тэг под кнопочкой </>
В противном случае код наверняка чудесным образом при постинге рассыпется на частично форматированные составные части
 

Павел I

Участник
Сообщения
134
Оценка реакций
1
он же при запуске у вас спрашивает имя сохранённого пресета)))

прям на чистом вражеском языке
Write PDFpreset name
У меня просто сохраняет молча 'hz'

PS я по ходу не тот скрипт вставил, сечас перепроверю

Для постинга кусков кода в чудноновом движке есть такой замечательный тэг под кнопочкой
Я честное слово искал какую-нибудь кнопку для этого, но «Код» меня как-то не привлекло и я пропустил :D
 
Последнее редактирование:

Павел I

Участник
Сообщения
134
Оценка реакций
1
Да, у меня два или три скрипта похожих, которые я тестировал и перепутал их. Ну это может даже и лучше, именно этот скрипт спрашивает пресет, а значит можно понять как он сохраняет. Нашел еще описание для скрипта:

«Скрипт сохраняет каждый слой в отдельный pdf-файл в соответствии с запрошенным pdfPreset. . . . При
запуске идет запрос pdfPreset'а. Дефолтный pdfPreset можно отредактировать в файле настройки.»

Что за файл настройки не могу понять?
 

andrejK

12 лет на форуме
Сообщения
9 305
Оценка реакций
4 842
ф1 в илле? и смотреть, что такое пресет? или вы нас за ф1 держите?
 

andrejK

12 лет на форуме
Сообщения
9 305
Оценка реакций
4 842
по неизбывной своей доброте душевной дарю вам скрин

1547809997457.png