Лет десять не занимался программированием, а тут решил, в связи с переходом с Кварка на InDesign CS облегчить себе работу. Засел за изучение JS и объектов InDesign. Узнал много нового На данный момент после мучительных ковыряний и поиска по форумам осталось два вопроса.
1. Задача: часть ячеек таблицы необходимо слить (merge) по вертикали, часть - по горизонтали.
Анамнез: проводя адресацию ячеек через myTable.columns.cells[j] столкнулся с тем, что после слияния меняется не только визуальное, но и логическое количество строк и столбцов. Например, если слить в первой строке все ячейки по вертикали, то для первого столбца при j=3 визуально попадаем на четвертую строку, для остальных колонок - на пятую. И вся дальнейшая адресация летит фтуман, что выглядит нелогично и сильно усложняет алгоритм нахождения нужной ячейки.
Вопрос: есть ли способ для скрипта однозначно ориентироваться в любой таблице не заморачиваясь на то, сколько и каких ячеек слито (т.е. на column и row span)?
2. Задача (только не смейтесь):
a) создать внутри ячейки прямоугольный графический фрейм
b) подогнать его размеры под ячейку (с учетом отступов)
c) поместить в этот фрейм картинку из файла
d) ну и сделать всякие myObject.fit(FitOptions.*) - это я уже умею
Анамнез похоже == диагноз. Я, видимо, совсем тупой и не могу ни создать фрейм в ячейке, ни запихать картинку в существующий. Бился целый день - проблемы у меня с объектным программированием, поэтому так и не нашел нужный конструктор. При этом файловый дескриптор создается, проверка наличия файла на диске проходит, а потом при попытке .place() или .add() выдаются разнообразные ошибки.
Вопрос(ы):
а) В какой объект (cell, paragraph,...) и каким методом в табличные ячейки вставляются фреймы и как в полученные фреймы вставляются картинки из файла?
б) Можно ли при этом обойти абсолютные .geometricalBounds - типа "просто поместить фрейм заданной ширины и высоты в заданную ячейку (или в пустой абзац в этой ячейке)"?
Буду благодарен как за прямой ответ здесь, так и в тыкание носом в хорошие тематические примеры JS-скриптов. Перерыв этот форум, форум на Adobe и остальной интернет ничего подходящего не нашел.. но, может, плохо искал?
InDesignCS 3.01, JavaScript
1. Задача: часть ячеек таблицы необходимо слить (merge) по вертикали, часть - по горизонтали.
Анамнез: проводя адресацию ячеек через myTable.columns.cells[j] столкнулся с тем, что после слияния меняется не только визуальное, но и логическое количество строк и столбцов. Например, если слить в первой строке все ячейки по вертикали, то для первого столбца при j=3 визуально попадаем на четвертую строку, для остальных колонок - на пятую. И вся дальнейшая адресация летит фтуман, что выглядит нелогично и сильно усложняет алгоритм нахождения нужной ячейки.
Вопрос: есть ли способ для скрипта однозначно ориентироваться в любой таблице не заморачиваясь на то, сколько и каких ячеек слито (т.е. на column и row span)?
2. Задача (только не смейтесь):
a) создать внутри ячейки прямоугольный графический фрейм
b) подогнать его размеры под ячейку (с учетом отступов)
c) поместить в этот фрейм картинку из файла
d) ну и сделать всякие myObject.fit(FitOptions.*) - это я уже умею
Анамнез похоже == диагноз. Я, видимо, совсем тупой и не могу ни создать фрейм в ячейке, ни запихать картинку в существующий. Бился целый день - проблемы у меня с объектным программированием, поэтому так и не нашел нужный конструктор. При этом файловый дескриптор создается, проверка наличия файла на диске проходит, а потом при попытке .place() или .add() выдаются разнообразные ошибки.
Вопрос(ы):
а) В какой объект (cell, paragraph,...) и каким методом в табличные ячейки вставляются фреймы и как в полученные фреймы вставляются картинки из файла?
б) Можно ли при этом обойти абсолютные .geometricalBounds - типа "просто поместить фрейм заданной ширины и высоты в заданную ячейку (или в пустой абзац в этой ячейке)"?
Буду благодарен как за прямой ответ здесь, так и в тыкание носом в хорошие тематические примеры JS-скриптов. Перерыв этот форум, форум на Adobe и остальной интернет ничего подходящего не нашел.. но, может, плохо искал?
InDesignCS 3.01, JavaScript