[AI CS4-CS6] Встроить изображение в документ

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 183
Реакции
10 843
Все страньше и страньше
из разных папок быстро
Из каких папок? %8
Вы последний вариант скрипта пробовали? Его не надо ни в какой экшн встраивать. Но он разумеется только текущую папку перебирает
 

Павел I

Участник
Топикстартер
Сообщения
142
Реакции
1
AI лежат в разных папках и в этих папках еще и jpg и psd вдобавок
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 183
Реакции
10 843

~RA~

Одарённая.
12 лет на форуме
Сообщения
11 859
Реакции
3 449

Не по теме:
Это форум.
можете показать что у Вас есть
Фото прислать? ;)
как Вы лично это видите?
Лично, тольно втянув живот. Хотите об этом поговорить? ;)

.
 

~RA~

Одарённая.
12 лет на форуме
Сообщения
11 859
Реакции
3 449
А как по вашему скрипт определит какие папки перебирать? %8
Элементарно. Кладёшь стартовый файл в самый верх, а в скрипте пишешь рекурсивный обход.

Не по теме:
но я, на твоём месте, этому персонажу не стал бы помогать безвозмездно
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 183
Реакции
10 843
Элементарно. Кладёшь стартовый файл в самый верх, а в скрипте пишешь рекурсивный обход.
Пока что я не увидел что папки все вложенные
Если да то это хоть как то упростило понимание, потому как я чувствую вообще перестаю понимать приходящих сюда людей *(
 

Павел I

Участник
Топикстартер
Сообщения
142
Реакции
1
Претензий к скрипту у меня нет '))' Я же не знаю можно ли им это реализовать. Но есть такое понятие вложенность папок в том же батче например. Мой экшен все вложенные папки сканирует нормально, но открывает в добавок не нужные файлы psd, jpeg

~RA~, я приколов не понял, если хотите помочь можете что-нибудь прислать если не хотите, то ок. У Вас вопрос такой чем меня что-то не устраивает я уже то что сделал показал и чем не устраивает тоже. Вы можете что-то предложить или объяснить что я не так сделал, вот это нормальная помощь
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 183
Реакции
10 843
Но есть такое понятие вложенность папок
А то есть папки все таки вложенные?
хотите помочь можете
Ну он и помогает - видите, пытается мне перевести ваши хотелки на человеческий язык и вроде правильно вангует
 

Павел I

Участник
Топикстартер
Сообщения
142
Реакции
1
У меня несколько магазинов, есть корневая папка и в ней отдельно папка для каждого магазина и там уже AI, jpeg, psd. Как правило вложенность на этом заканчивается, если это имеет значение. Иногда я могу внутри папки с магазином еще какую-то папку создать и туда AI закинуть, но обычно нет.

Ну и какие-то еще левые папки тоже есть (без AI внутри)
 
Последнее редактирование:

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 183
Реакции
10 843
Попробуйте так
JavaScript:
function getAllFolders(curfolder)
  {
    var files = curfolder.getFiles();
    for (var l = 0; l < files.length; l++){
        if (files[l] instanceof Folder){
            var entry = files[l];
      
            getAllFolders(entry);
        }

      }
      files = WorkPath.getFiles('*.ai');

    for (int a=0; a<files.length; a++) {
    sourceFile = app.open(files[a]);
    doc = app.activeDocument;
    for (var  i = doc.placedItems.length-1; i >=0 ; i-- ) {
      doc.placedItems[i].embed();

    }

    doc.saveAs(NameFiles, SaveOptionPdf);
    doc.close(SaveOptions.DONOTSAVECHANGES);
}
}

var doc = app.activeDocument;
var WorkPath = doc.path;
getAllFolders(WorkPath);
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 183
Реакции
10 843
На самом деле все таки так
JavaScript:
function getAllFolders(curfolder)
  {
    var files = curfolder.getFiles();
    for (var l = 0; l < files.length; l++){
        if (files[l] instanceof Folder){
            var entry = files[l];
     
            getAllFolders(entry);
        }

      }
      files = curfolder.getFiles('*.ai');

    for (var a=0; a<files.length; a++) {
    sourceFile = app.open(files[a]);
    doc = app.activeDocument;
    for (var  i = doc.placedItems.length-1; i >=0 ; i-- ) {
      doc.placedItems[i].embed();

    }

    doc.saveAs(NameFiles, SaveOptionPdf);
    doc.close(SaveOptions.DONOTSAVECHANGES);
}
}

var doc = app.activeDocument;
var WorkPath = doc.path;
getAllFolders(WorkPath);
 

andrejK

R.I.P.
Сообщения
10 300
Реакции
5 218
вот и дожили до рекурсии!
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 183
Реакции
10 843
Рекурсия как всегда божественна
Меня другое немного напрягает - мои скрипты хоть кто то запускает или я их тут сам себе пишу? Только что пару ужасных ошибок нашел и поправил - никто слова не сказал 'hmmm'
 

~RA~

Одарённая.
12 лет на форуме
Сообщения
11 859
Реакции
3 449

Павел I

Участник
Топикстартер
Сообщения
142
Реакции
1
На самом деле все таки так
JavaScript:
function getAllFolders(curfolder)

var doc = app.activeDocument;
var WorkPath = doc.path;
getAllFolders(WorkPath);

Попробовал и сразу вот такое сообщение начал получать
Ошибка.png

Потом стали окна о пересохранении всплывать и как-то зависать еще надолго, возможно я настроил бачт не правильно. Но в конце концов картинки встроились после многократного нажатия ОК. Как мне показалось Иллюстратор файлы jpeg тоже открывал
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 183
Реакции
10 843
Вот так
JavaScript:
 function getAllFolders(curfolder)
  {
    var files = curfolder.getFiles();
    for (var l = 0; l < files.length; l++){
        if (files[l] instanceof Folder){
            var entry = files[l];
      
            getAllFolders(entry);
        }

      }
      files = WorkPath.getFiles('*.ai');

    for (int a=0; a<files.length; a++) {
    sourceFile = app.open(files[a]);
    doc = app.activeDocument;
    for (var  i = doc.placedItems.length-1; i >=0 ; i-- ) {
      doc.placedItems[i].embed();

    }

    doc.save();
    doc.close(SaveOptions.DONOTSAVECHANGES);
}
}

var doc = app.activeDocument;
var WorkPath = doc.path;
getAllFolders(WorkPath);
 

Павел I

Участник
Топикстартер
Сообщения
142
Реакции
1
Ошибка.jpg
Продолжает открывать jpeg и получается сохраняет их прямо поверх AI и получается вместо слоев там просто картинка. Специально созданную вложенную папку не тронул. И новая ошибка
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 183
Реакции
10 843
Тьфу я в одном месте меняю с другого копирую ;)
JavaScript:
function getAllFolders(curfolder)
  {
    var files = curfolder.getFiles();
    for (var l = 0; l < files.length; l++){
        if (files[l] instanceof Folder){
            var entry = files[l];
      
            getAllFolders(entry);
        }

      }
      files = curfolder.getFiles('*.ai');

    for (var a=0; a<files.length; a++) {
    sourceFile = app.open(files[a]);
    doc = app.activeDocument;
    for (var  i = doc.placedItems.length-1; i >=0 ; i-- ) {
      doc.placedItems[i].embed();

    }

    doc.save();
    doc.close(SaveOptions.DONOTSAVECHANGES);
}
}

var doc = app.activeDocument;
var WorkPath = doc.path;
getAllFolders(WorkPath);