AnchoredObjectSetting

  • Автор темы Автор темы mihailo-v
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.

mihailo-v

Участник
Топикстартер
Сообщения
65
Реакции
0
И снова здравствуйте!
Вопрос давнишний, в предыдущих моих постах тоже задавался, но ответ неясен.
Есть тупо инлайн объект (пусть будет вначале строки, хотя это не важно).
Я хочу менять его свойства (сабж). Как собственно это лучше сделать?

Пока я решаю это так: создаю (я делаю на отдельном мастере) объект с нужными настройками, далее copy & paste. Но вот беда, если объектов много - это не покатит. Получается полюбас нужно линковать из папки.

Менять нужно след. параметры: размер, положение (inline/custom и т.п.)

С меня косяк если что:)
 
Ответ: AnchoredObjectSetting

Попробовал кстати выделить инлайн объект во фрейме как тут однажды предлагали:

var myL = myTextFrame.allGraphics.length;
myPage.textFrames.insertionPoints.lastItem().contents =
myL + " объектов во фрейме";

Пишет что myL = 0; хотя графика есть,
Также для инлайн объекта проверил frame contents -> graphics.
 
Ответ: AnchoredObjectSetting

Есть все основания считать, что инлайн-объекты являются гостями не текстового фрейма, а Story (или Text'а) оного.
PHP:
alert(app.selection[0].parentStory.allGraphics.length);
 
Ответ: AnchoredObjectSetting

vbatushev сказал(а):
Есть все основания считать, что инлайн-объекты являются гостями не текстового фрейма, а Story (или Text'а) оного.
PHP:
alert(app.selection[0].parentStory.allGraphics.length);

Я проверил - пишет 0 однако:(
Выделен был фрейм с двумя инлайн объектами.
Также прорбовал с выделенным текстом.
Из референса:
parentStory - The story containing the object.
По-русски - стори, в которой содержится данный объект.
 
Ответ: AnchoredObjectSetting

У меня написал 1. Был один инлайн-объект и алерт сказал – 1.
parentStory - The story containing the object.
По-русски - стори, в которой содержится данный объект.
Господь с Вами, это по-русски значит – "Стори, которую содержит объект".
 
Ответ: AnchoredObjectSetting

И так работает:
for (i = 0; i < app.activeDocument.textFrames.length; i++) {
alert(app.activeDocument.textFrames.allGraphics.length);
}

Из чего складывается подозрения о сущности Вашего TextFrame'а. Может, он и не TextFrame вовсе?
 
Ответ: AnchoredObjectSetting

vbatushev сказал(а):
У меня написал 1. Был один инлайн-объект и алерт сказал – 1.
Я понял, опять конфуз вышел. Я рисунок то не вставил... В качестве инлайн объекта я использовал rectangle и еще group. Вставил рисунок извне - посчитал правильно.
Тогда я через allGraphics.parent.select() могу выделить фрейм, содержащий рисунок, он то мне и нужен. Но это вариант "через ж.." как мне кажется. Более рационально тогда использовать:
Код:
app.selection[0].rectangles[0].select();
Группу объектов индиза тоже можно запихать внутрь фрейма, чтобы вся графика как-бы была внутри rectangle.
Вроде что-то прояснилось, спасибо за наставления.

vbatushev сказал(а):
Господь с Вами, это по-русски значит – "Стори, которую содержит объект".
А вот с этим можно поспорить. Заметна ли разница:
paragraphs - The paragraphs contained by the object.
parentStory - The story containing the object.
Ввиду этого смысл абсолютно противоположный!
 
Ответ: AnchoredObjectSetting

С выделением вроде разобрался - применить Сабж к нему не получилось.
Люди добрые, может по этому поводу у кого примерчик какой-нибудь есть?
 
Ответ: AnchoredObjectSetting

А вот с этим можно поспорить.
Можно.

С выделением вроде разобрался - применить Сабж к нему не получилось.
Не надо ничего выделять. Просто ссылайтесь на объект. Типа:
var curObj = selection[0].rectangles[0];
А потом дрючьте этот curObj.
 
Ответ: AnchoredObjectSetting

vbatushev сказал(а):
var curObj = selection[0].rectangles[0];
А потом дрючьте этот curObj.

Подрючил чутка, последний раз попробовал:
Код:
curObj.anchoredObjectSettings.anchoredPosition.aboveLine;
Ошибку не выдал, но и не поменялось ничего.
Из референса:
rectangle -> anchoredObjectSettings -> Access: read
То есть атрибут для чтения, мож поэтому и не фурычит?
 
Ответ: AnchoredObjectSetting

А чо .aboveLine??? Чо это за хрень-то?
И чего вы этой фразой индезу сказали?
curObj.anchoredObjectSettings.anchoredPosition – это что? Это свойство. А со свойство чего хочет? Свойство хочет иметь значение. Причем хочет не какое попало, а конкретное. И эти конкретные значения где? В п… на верхней полке, а еще точнее в документации.
Открываем и тихо улыбаясь смотрим:
AnchoredObjectSetting.anchoredPosition
Data Type: AnchorPosition
The position of the anchored object relative to the anchor.
Ой, ма, какой тип данных передается в .anchoredPosition? Ога, из enumrator'а AnchorPosition. Идем туда и видим три значения (и только три), которые может иметь и с удовольствием, граничащим с блаженством, имеет .anchoredPosition:
AnchorPosition.ABOVE_LINE (Read Only)
Data Type: number, Value: 1095716961 ('AOPa')
Place the anchored object above the line of text that contains the object.
AnchorPosition.ANCHORED (Read Only)
Data Type: number, Value: 1097814113 ('AoPa')
Custom anchor position.
AnchorPosition.INLINE_POSITION (Read Only)
Data Type: number, Value: 1095716969 ('AOPi')
Align the anchored object with the baseline of the line that contains the object.

Как видим, тут нет ничего подобного тому, чего Вы там писали в скрипте.
Писать надо было так:
PHP:
curObj.anchoredObjectSettings.anchoredPosition = AnchorPosition.ABOVE_LINE;
Или так:
PHP:
curObj.anchoredObjectSettings.anchoredPosition = 1095716961;

Хотелось бы сказать зажигательную речь о пользе чтения документации перед сном, во время завтрака, в метро, туалете и просто натощак, но лень, поэтому ограничусь кратким призывом: RTFM !!!
 
Ответ: AnchoredObjectSetting

vbatushev сказал(а):
И эти конкретные значения где? В п… на верхней полке, а еще точнее в документации.
Отнюдь, документацию я изучаю методически и систематически.
vbatushev сказал(а):
AnchorPosition.ABOVE_LINE (Read Only)
Data Type: number, Value: 1095716961 ('AOPa')
ABOVE_LINE? У меня aboveLine написано. Поделитесь источником. Клянусь я читал и про Сабж, перед тем как спрашивать, о Великий Сенсей. И что за 'AOPa'? Очень похоже на очередное ваше восклицание-междометие.

Косяк вышлю в конверте.

i'll be back
 
Ответ: AnchoredObjectSetting

Хз, чо это за АОПа :) Возможно, сокращение. Типа три варианта: полное написание, числовое и сокращение.
Источник один — встроенный в ESTK2 help. Стало быть так в InDesign CS3.
Глянем в доку по CS2. Чудо! Там мы видим почти то же самое!
anchoredPosition
AnchorPosition enumeration
r/w
The position of the anchored object relative to the anchor point.
Name Decimal
AnchorPosition.inlinePosition 1095716969
AnchorPosition.aboveLine 1095716961
AnchorPosition.anchored 1097814113

документацию я изучаю
Это правильно. :)

Косяк вышлю в конверте.
Ога. Можно текилой.
 
Статус
Закрыто для дальнейших ответов.