[AI CC-CC2021] Передача текста в InDesign

  • Автор темы Автор темы veretragna
  • Дата начала Дата начала

veretragna

γνώσις
Топикстартер
Сообщения
578
Реакции
202
Добрый день.
Нужен скрипт для одной специфической работенки.
Если кратко, есть одностраничный файл Illustrator с надписями. Нужно создать такой же файл InDesign и перенести в него надписи на те же координаты.
Шрифты, стили, графика - неважны, только перенести надписи и текст в них.
Попадалось ли тут что-то подобное?
 
А что мешает просто экспортировать/импортировать документ или просто скопипастить?
И чей скрипт все таки - иллюстраторовский или индизайновский?
 
Текст должен быть редактируемым в файле Indesign, а если его тупо копировать из иллюстратора, он вставляется некорректно. Такой одностраничный файл пока что один, в дальнейшем их будет больше и надписей в них много, вручную переносить не вариант.
Чей скрипт - без разницы, главное, чтоб работу делал. Я предположил, что вызывать это дело нужно из иллюстратора, но индизайн тоже должен справиться.
 
imho проще сгрупировать, скопипастить (как образец) и перенабрать в InDEsign по новой
Мне нужно объяснять, что это очень странно - советовать такое в ветке скриптинга?
 
Лично я, например, до конца не пойму суть хотелки
Как вообще это выглядеть должно в виде конечной цели? -
Открыты одновременно иллюстратор и индизайн, жмется некая волшебная кнопка и все тексты из активного иллюстраторовского макета волшебным образом попадают в индизайновский?
Так, по понятным соображениям, подобное ни иллюстраторовским ни индизайновским скриптингом недостижимо, возможно, бридж? 'hmmm'
 
JavaScript:
//@target illustrator

var IL_Units = RulerUnits.Points;
var ID_Units = 2054188905;

function tfInDesign (data) {
    var doc = app.documents.add();
    doc.viewPreferences.horizontalMeasurementUnits = data.doc.units;
    doc.viewPreferences.verticalMeasurementUnits = data.doc.units;
    doc.documentPreferences.pageWidth = data.doc.width;
    doc.documentPreferences.pageHeight = data.doc.height;
    for (var f = 0; f < data.frames.length; f++) {
        var df = data.frames[f];
        var gb = [df.top, df.left, df.top + df.height, df.left + df.width];
        var frame = doc.pages[0].textFrames.add(undefined, undefined, undefined, {geometricBounds: gb});
        frame.parentStory.contents = df.contents;
    }
}

function collectData (doc) {
    var data = {};
    data.doc = {
        units: ID_Units,
        width: doc.width,
        height: doc.height,
    }
    data.frames = [];
    for (var f = 0; f < doc.textFrames.length; f++) {
        var frame = doc.textFrames[f];
        data.frames.push({
            top: frame.top > 0 ? frame.top : -frame.top,
            left: frame.left,
            width: frame.width,
            height: frame.height,
            contents: frame.contents,
        });
    }
    return data;
}

function main() {
    if (!app.documents.length) {
        return false;
    }
    var doc = app.activeDocument;
    if (doc.rulerUnits != IL_Units) {
        alert('Set document units to: "' + IL_Units.split('.')[1] + '" before run script!');
        return false;
    }
    if (!doc.textFrames.length) {
        alert('No text items in document!');
        return false;
    }
    var data = collectData(doc);
    var script = 'var tfInDesign = ' + tfInDesign.toSource() + ';\r';
    script += 'tfInDesign (' + data.toSource() + ');\r';
    var ibt = new BridgeTalk();
    ibt.target = 'indesign';
    ibt.body = script;
    ibt.send(3600);
}

main();
 
Последнее редактирование:
Мне нужно объяснять, что это очень странно - советовать такое в ветке скриптинга?

мне нужно объяснять, что в ветке скриптинга странно наблюдать пожелание в котором для -
"..одной специфической работенки... одностраничный файл Illustrator... " нужен скрипт? :)

"скриптинг" он обычно для объемной, рутинной и утомительной работы.

успешных поисков!
 
Олег, да у вас на все случаи жизни есть решение! Спасибо большое.
Попробовал запустить скрипт, вот такая ошибка на с. 22
ID_Units is undefined
 
Plug in есть… PDF2ID, дорогой
 
мне нужно объяснять, что в ветке скриптинга странно наблюдать пожелание в котором для -
"..одной специфической работенки... одностраничный файл Illustrator... " нужен скрипт? :)

"скриптинг" он обычно для объемной, рутинной и утомительной работы.

успешных поисков!
Задача поставлена на примере одного файла, а в целом файлов больше, как я позже и уточнил.
 
Олег, да у вас на все случаи жизни есть решение! Спасибо большое.
Попробовал запустить скрипт, вот такая ошибка на с. 22
ID_Units is undefined
Текст скрипта новый уже, в первом варианте была случайно удалена строка.
 
  • Спасибо
Реакции: veretragna
Запускаю скрипт и ничего не происходит
 
InDesign запущен до запуска скрипта?
Документ в ID создается?
 
  • Спасибо
Реакции: veretragna
Indesign запущен до запуска скрипта, документ не создается
 
Тогда с большой долей вероятности не установлен ESTK, либо что-то из приложений не совсем.
Лучше пробовать на самом простом документе с одним текстовым фреймом.
 
  • Спасибо
Реакции: veretragna
ESTK установлен из Cloud, приложения тоже.
Спасибо, буду пробовать сносить-ставить обратно
 
вы не торопитесь сносить, надо проверить что с bridgetalk происходит, и все решится
 
Я не очень понимаю, как это проверить. Никогда с bridgetalk не работал
 
Если скрипт запускать непосредственно из ESTK, то какие-то движения есть?
 
  • Спасибо
Реакции: veretragna