[ID CC2024] помогите найти скрипт

Ну ТС как я понимаю сейчас не знает и умеет, а сделать надо. Насколько это часто нужно неизвестно, может не имеет смысла что-то искать и изучать.
 
Может, как-то так?
Можно модернизировать:
1. Скриптом Аносова MakeImposition создать нужное количество фреймов. Отегулировать количество строк и столбцов, расстояние между ними, даже метки можно поставить.
1780602890762.png
2. Скриптом Аносова SelectAndChangeContentType преобразовать эти фреймы в текстовые. Можно сразу заполнить условным текстом для наглядности.
1780603044902.png
3. Скриптом Rorohiko TextStitch связать эти текстовые фреймы в одну цепочку.
4. Выделить и удалить все тексты во всех фреймах. Взамен нажать (всего 1 раз, не 500 !) и держать ENTER секунд 30, пока по ощущениям не введутся 500 пустых строк. Выделить всё, задать нумерацию (желательно убрать из нумерации точку и таб). Правой кнопкой мыши преобразовать нумерацию в текст. Получится множество строк от 1 и далее.
5. Выделить всё, в свойствах абзаца задать параметры удержания – начинать с следующего фрейма. Получается в каждом фрейме по одному числу. Создать стиль абзаца, он понадобится дальше.
6. Тем же скриптом Rorohiko TextStitch (или стандартным BreakFrame) разбить цепочки. Получаем отдельные фреймы, в каждом из них одно число.
1780603927829.png
7. Скриптом Аносова ImposeMultiPage заполнить эти фреймы страницами из pdf (тут понадобится указать стиль, созданный в п.5).
1780604985834.png
1780604082939.png
При этом не выходим за рамки ИнДизайна. Все использованные скрипты бесплатны.
Нужно помнить, что отменить действие скрипта Аносова через Ctrl-Z не получится, только пошагово. Поэтому перед каждым применением будет не лишним сохраниться, чтобы иметь возможность вернуться в файл до выполнения скрипта. Или пользовать продвинутую Историю.
 
В данном примере показано, как действовать на одной странице с 25-ю фреймами. А нам же нужно не 25, а 500. Как вариант – сделать одну страницу, загнать фреймы в Мастер, создать 20 страниц, потом отменить их связи с Мастером. А TextStitch умеет связывать фреймы в цепочку и разрывать цепочки сразу во всем документе.
 
Скриптом Аносова MakeImposition создать нужное количество фреймов
Это в принципе штатный Step and Repeat может сделать, даже удобнее наверное на листе со шкалами и метками.
Как вариант – сделать одну страницу, загнать фреймы в Мастер, создать 20 страниц, потом отменить их связи с Мастером. А TextStitch умеет связывать фреймы в цепочку и разрывать цепочки сразу во всем документе.
Я уже предлагал, достаточно одной страницы, дальше вставить список и заполнение само создаст страницы и фреймы будут связаны.
 
Взамен нажать (всего 1 раз, не 500 !) и держать ENTER секунд 30, пока по ощущениям не введутся 500 пустых строк.
Или все-таки сгенерить ровно 500 в табличном редакторе любом, хоть онлайновом :)
 
Не понял. Если на странице 25 фреймов связанных
достаточно одной страницы, дальше вставить список и заполнение само создаст страницы и фреймы будут связаны
Не понял. Если на странице 25 фреймов связанных, то как автоматом создать еще 20 таких же страниц с 25-ю фреймами на каждой без использования Мастера?
Или все-таки сгенерить ровно 500 в табличном редакторе любом, хоть онлайновом
Можно и так, но я хотел сделать всё не выходя из ИнДизайна.
 
1) есть списки
2) нумерация страниц. Нафига эксели/ИИ...?
 
Код:
if (app.documents.length > 0) {
    var doc = app.activeDocument;
    var frameCounter = 1;
 
    function addNumberToFrame(frame, num) {
        try {
            var textFrame = frame
            textFrame.contents = num.toString();
            textFrame.geometricBounds = frame.geometricBounds;
            textFrame.textFramePreferences.verticalJustification = VerticalJustification.CENTER_ALIGN;
            var paragraph = textFrame.paragraphs[0];
            paragraph.justification = Justification.CENTER_ALIGN;
            paragraph.pointSize = 12;
            paragraph.fillColor = doc.colors.item("Black");
        } catch(e) { }
    }

    for (var i = 0; i < doc.pages.length; i++) {
        var page = doc.pages[i];
        for (var t = 0; t < page.textFrames.length; t++) {
            addNumberToFrame(page.textFrames[t], frameCounter++);
        }
    }
 
    alert("Пронумеровано фреймов: " + (frameCounter - 1));
} else {
    alert("Нет открытых документов InDesign");
}
13.gif
 
Последнее редактирование:
  • Спасибо
Реакции: Chiga и suntory
без использования Мастера?
Мастер надо использовать, 20 страниц не нужно создавать, Smart text reflow.
нумерация страниц
Там много фреймов на одной странице.
Он их и предложил.

Ну и не нужно уже, так быстрее будет
Код:
if (app.documents.length > 0) {
    var doc = app.activeDocument;
    var frameCounter = 1;
 
    function addNumberToFrame(frame, num) {
        try {
            var textFrame = frame
            textFrame.contents = num.toString();
            textFrame.geometricBounds = frame.geometricBounds;
            textFrame.textFramePreferences.verticalJustification = VerticalJustification.CENTER_ALIGN;
            var paragraph = textFrame.paragraphs[0];
            paragraph.justification = Justification.CENTER_ALIGN;
            paragraph.pointSize = 12;
            paragraph.fillColor = doc.colors.item("Black");
        } catch(e) { }
    }

    for (var i = 0; i < doc.pages.length; i++) {
        var page = doc.pages[i];
        for (var t = 0; t < page.textFrames.length; t++) {
            addNumberToFrame(page.textFrames[t], frameCounter++);
        }
    }
 
    alert("Пронумеровано фреймов: " + (frameCounter - 1));
} else {
    alert("Нет открытых документов InDesign");
}
 
Последнее редактирование:
Описание скрипта посмотри :)

Нумерация страниц в ID тут не поможет
 
Только одному мне кажется, что уже скоро сутки, как в этом топике каждый решает свою собственную задачу? 'hmmm'
 
Кажется, Gad уже написал нужный ТС скрипт. До этого задача была успешно решена без скрипта, но скриптом проще. Офтоп решению никак не помешал.
Код:
if (app.documents.length > 0) {
    var doc = app.activeDocument;
    var frameCounter = 1;
 
    function addNumberToFrame(frame, num) {
        try {
            var textFrame = frame
            textFrame.contents = num.toString();
            textFrame.geometricBounds = frame.geometricBounds;
            textFrame.textFramePreferences.verticalJustification = VerticalJustification.CENTER_ALIGN;
            var paragraph = textFrame.paragraphs[0];
            paragraph.justification = Justification.CENTER_ALIGN;
            paragraph.pointSize = 12;
            paragraph.fillColor = doc.colors.item("Black");
        } catch(e) { }
    }

    for (var i = 0; i < doc.pages.length; i++) {
        var page = doc.pages[i];
        for (var t = 0; t < page.textFrames.length; t++) {
            addNumberToFrame(page.textFrames[t], frameCounter++);
        }
    }
 
    alert("Пронумеровано фреймов: " + (frameCounter - 1));
} else {
    alert("Нет открытых документов InDesign");
}
 
Он и промежуточный этап толком не описал. Пока что я увидел только генерацию последовательных чисел на целый лист, это элементарно, но зачем такое странное понять не могу - и в этом подвох явный предвижу я