[ID CS4-CS6] Данные в таблицах

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

sverdlik

Топикстартер
10 лет на форуме
Сообщения
45
Реакции
0
Добрый день всем.
Есть таблица с двумя столбцами. В первом текстовые данные, разделённые на строки концом абзаца. В этом столбце нужно первой строке каждой ячейки задать стиль (чтобы потом создать оглавление).
Во втором столбце путь к растровому файлу. Растры все отформатированы одинаково. Нужно поставить растр на место пути к файлу.
К сожалению, в скрипты не умею. Подскажите куда копать, пожалуйста.
 
Добрый день всем.
Есть таблица с двумя столбцами. В первом текстовые данные, разделённые на строки концом абзаца. В этом столбце нужно первой строке каждой ячейки задать стиль (чтобы потом создать оглавление).
Во втором столбце путь к растровому файлу. Растры все отформатированы одинаково. Нужно поставить растр на место пути к файлу.
К сожалению, в скрипты не умею. Подскажите куда копать, пожалуйста.
Копать в сторону умения.
 
Разные скрипты для размещение картинок на места имён файлов существуют в количестве, надо поискать в сети и выбрать под свои требования.
Вот, например, прямо здесь:
 
Вот, например, прямо здесь:
Попробовал. Отказывается у меня этот скрипт работать. Прокручивает прогресс бар и ничего. Попробую на другом компе на более новой версии индиза.
задать стиль конечно, можно. Но вот с созданием оглавления из такого выделения... хм
Проверил. Работает. Ровно так же, как с текстовым блоком. Осталось понять, как первой строке (до знака абзаца) в каждой ячейке задать стиль. Автоматически. Чтобы не лазить по всей таблице ручками.
Если бы в индизе можно было записывать макросы, было бы, наверно, проще. но увы, в моей версии (CS6) этого нет. Посмотрю завтра версию CC. Может там есть такой инструмент.
 
как первой строке (до знака абзаца)
так первой строке, или всему абзацу, вы б уж определились...
Выделить все необходимые ячейки и назначить нужный стиль. Его же можно прописать в стиле этих самых ячеек.

Вы бы толком описали проблему...
 
Вы бы толком описали проблему...
Есть ячейки таблицы. В каждой ячейке несколько строк, разделённых абзацем. Стиль надо задать только первой строке. Остальной текст должен остаться без изменений.
 
В каждой ячейке несколько строк, разделённых абзацем. Стиль надо задать только первой строке.
Не совсем пойму, первая строка абзацем от остальных отбита или нет? Если да, то, наверное, grep стиль поможет
 
не поможет, т.к. речь идет о целом абзаце, который ТС упорно называет строкой.
Да и кол-во этих абзацев "несколько", т.е. разное, как подсказывает Ванга )
 
Да, не прав в терминологии. Я не спец в вёрстке и путаюсь. Именно так. Именно абзац и именно несколько их. Т.е., разное в разных ячейках. И надо стиль задать только первому в каждой ячейке.
 
Вкратце -
JavaScript:
var paragStyle = 'a'; // имя стиля
var a = app.activeDocument.selection[0].tables[0];  //выбираем таблицу
for (i=0; i<a.columns[0].cells.length; i++){  //цикл по строкам
try{
    a.columns[0].cells[i].paragraphs[0].appliedParagraphStyle = app.activeDocument.paragraphStyles.itemByName(paragStyle); // применяем стиль к 1 абзацу
    var aimage = a.columns[1].cells[i].contents; // получаем имя путь и имя файла строго в формате согласно https://acrobatusers.com/tutorials/file-paths-acrobat-javascript/
     a.columns[1].cells[i].contents = ''; //чистим контент второго столбца
     a.columns[1].cells[i].cellType = 1701728329; //применяет тип ячейки  - графика
     $.sleep(1000);// если не дать постпать скрипту Indesign не успевает просчитать и вываливается в ошибку
     a.columns[1].cells[i].contents.place(File(aimage), false); // Вставляем картинку
     $.sleep(1000) // сон - здоровье
    } 
catch(e){
 //   alert(e) выводим или плюем на ошибки
    }
}
А вообще подгонять надо по месту - пути править если не в том формате, чистить их до нормального состояния. Размер ячейки сохранять. и.т.д
 
Вкратце -
JavaScript:
var paragStyle = 'a'; // имя стиля
var a = app.activeDocument.selection[0].tables[0];  //выбираем таблицу
for (i=0; i<a.columns[0].cells.length; i++){  //цикл по строкам
try{
    a.columns[0].cells[i].paragraphs[0].appliedParagraphStyle = app.activeDocument.paragraphStyles.itemByName(paragStyle); // применяем стиль к 1 абзацу
    var aimage = a.columns[1].cells[i].contents; // получаем имя путь и имя файла строго в формате согласно https://acrobatusers.com/tutorials/file-paths-acrobat-javascript/
     a.columns[1].cells[i].contents = ''; //чистим контент второго столбца
     a.columns[1].cells[i].cellType = 1701728329; //применяет тип ячейки  - графика
     $.sleep(1000);// если не дать постпать скрипту Indesign не успевает просчитать и вываливается в ошибку
     a.columns[1].cells[i].contents.place(File(aimage), false); // Вставляем картинку
     $.sleep(1000) // сон - здоровье
    }
catch(e){
 //   alert(e) выводим или плюем на ошибки
    }
}
А вообще подгонять надо по месту - пути править если не в том формате, чистить их до нормального состояния. Размер ячейки сохранять. и.т.д
P.S. Что бы сделать нормальный скрипт в "прод" - надо потратить кучу времени (умножаем время на 10) на доводку - проверку входящих данный, учет вариантов - например у вас будет в таблице объедененная ячейка и скрипт упадет. Абзац в конце пути - и скрипт упадет. Пустая ячейка в первом столбце - скрипт упадет. Выделена не вся таблица а курсор стоит в ячейке - скрипт упадет.
 
Есть ячейки таблицы. В каждой ячейке несколько строк, разделённых абзацем. Стиль надо задать только первой строке. Остальной текст должен остаться без изменений.
Через Nested Line Style применить Character Style не подойдет?
Screenshot 2021-08-30 122931.jpg
 
1. Выделить таблицу.
2. GREP поиск-замена в выделенном:
поиск: \A[^\r]+\r
замена: нужный стиль
Вот именно это сразу и помогло. Спасибо огромное. Теперь буду разбираться, как это работает.