def getTypeById(id):
return app.DoScript('app.activeDocument.pageItems.itemByID(%s).getElements()[0].constructor.name;' % id,1246973031)
if getTypeById(pageitem.id) == 'Group'
if getTypeById(pageitem.id) == 'TextFrame'
и так далее
не знаю есть ли более простой способ не требующий запуска дускрипт
если непосредственно так, то питон выдаст ошибку )А что вам мешает вызвать сразу непосредственно
app.activeDocument.pageItems.itemByID(%s).getElements()[0].constructor.name ?
чтобы узнать тип объекта, группа это или текстфрейм или какой-нибудь ректангел, чтобы потом обращаться к этому объекту соответствующим образомДругой животрепещущий вопрос - чем обусловлено более чем странное желание обращаться к pageitem через его численное id?
вся документация сводится к созданию объектов из скрипта, а зачастую нужно брать get характеристик и иногда бывают серьезные траблы по этому поводу
Ну возникает вопрос характера этой ошибки Дело в том, что, как я погляжу, питон превосходно обращается к индизайновской скриптовой можели. Или я чего то недопонимаю?если непосредственно так, то питон выдаст ошибку )
Питон общается через COM-интерфейс. То есть, свойства и методы доступны только такие же, как у VB, не больше.Дело в том, что, как я погляжу, питон превосходно обращается к индизайновской скриптовой можели. Или я чего то недопонимаю?
из последнего что я делал - модульная сетка, направляющие отвечающие за строки находятся в pages.guides , а те что отвечают за колонки в document.masterSpreadsс этого места поподробнее
А VB разве constructor.name не видит?только такие же, как у VB, не больше.
Совсем не видит.А VB разве constructor.name не видит?
Ужас! Это ж как же приходится извращаться на VB, чтоб выкрутиться из этой проблемыСовсем не видит.
Если действительно так, то вы, скорее, осложняете себе жизнь, связавшись с питоном. Что мешает просто обычный скрипт из индизайна вызывать?верстальщик пытающийся облегчить себе жизнь
наверное отсутствие нужных скриптов в поставке индизайнаЕсли действительно так, то вы, скорее, осложняете себе жизнь, связавшись с питоном. Что мешает просто обычный скрипт из индизайна вызывать?
Я понимаюнаверное отсутствие нужных скриптов в поставке индизайна
Выбор языка - дело привычки, питон я используя не только для общение с индизайном, на нем например я писал парсеры для сайтов, там есть много виджетов, много готовых модулей практически под все случаи жизниЯ понимаю
Жизнь вообще несовершенная штука, а потом смерть
Но вы то скрипт пишете: почему, внезапно, на питоне, из которого так изгаляться приходится, а не на родном индизайновском яваскрипте? Чтобы сделать ее еще сложнее?
Не так уж редко это приходится делать и без привлечения Питона или еще чего. Я довольно часто пишу в документ служебную информацию через insertLabel, в том числе и id специальных объектов. Это удобно.Вызывать скрипт, передавая ему численное значение id - это на мой взгляд, нечто запредельное
Питон -- хороший. Он зачастую облегчает жизнь. Вот понадобилось мне написать простой конвертер картинок в jpg без использования Фотошопа - написал за 90 строк вместе с UI и поддержкой драг-энд-дроп. Через Imagemagick конвертит шустро и именно так, как мне надо.Если действительно так, то вы, скорее, осложняете себе жизнь, связавшись с питоном.
Ну не знаю, я б на си написал если б нужно было Но это вопрос религииПитон -- хороший. Он зачастую облегчает жизнь. Вот понадобилось мне написать простой конвертер картинок в jpg без использования Фотошопа - написал за 90 строк вместе с UI и поддержкой драг-энд-дроп. Через Imagemagick конвертит шустро и именно так, как мне надо.