[ID CC-CC2022] Скрипт для удаления страниц где имеется overset text

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

dooser

Топикстартер
20 лет на форуме
Сообщения
476
Реакции
104
Добрый день! Может кто-нибудь из гуру поделится скриптиком удаления из файла ВСЕХ страниц с оверсетом без «разбора полётов»? Просто есть на странице overset — страницу в корзину!
 
ну так он на новой появится. не проще весь документ стереть?
 
  • Спасибо
Реакции: George и LeonidB
Там суть документа — не связанные фреймы полученные путём манипуляций с данными и импортом оных с помощью datamerge. Чтобы не выстраивать новую технологическую цепочку проще удалить именно те страницы где присутствует overset.

Не по теме:
Дабы не плодить сущностей сверх необходимого в виде разных макетов для разных ситуаций с данными
 
Последнее редактирование:
Привет!
Вот таким скриптом можно это сделать

JavaScript:
for (var k = app.activeDocument.pages.length-1; k > 0; k--) {
        var page = app.activeDocument.pages[k];
        var overflowExist = false;
        for (var i = 0; i < page.textFrames.length; i++) {
            if (page.textFrames[i].overflows == true) overflowExist = true;
        }
        if (overflowExist == true) page.remove();
}
 
  • Спасибо
Реакции: dooser
Спасибо! Завтра попробую обязательно!
 
Меня терзают смутные сомнения, что данный скрипт озвученной проблемы не решит
ну так он на новой появится. не проще весь документ стереть?
Собственно он и сотрет по идее
 
М-м-м, работает, спасибо!!! Но только первую страницу документа не удаляет почему-то.

Не по теме:
Я же объяснял — фреймы не связаны (Data Merge) 8*). Как раз удаляет то что надо, но вот засада с первой страницей почему-то
 
Последнее редактирование:
М-м-м, работает, спасибо!!! Но только первую страницу документа не удаляет почему-то.

JavaScript:
for (var k = app.activeDocument.pages.length-1; k >= 0; k--) {
    var page = app.activeDocument.pages[k];
    var overflowExist = false;
    for (var i = 0; i < page.textFrames.length; i++) {
         if (page.textFrames[i].overflows == true) overflowExist = true;
    }
    if (overflowExist == true) page.remove();
}

Поправил баг )
 
  • Спасибо
Реакции: dooser и LeonidB