Просто извлечь текст из истории недостаточно. Расположение текста контролируется TextFrames
в Spread
документах. Каждый TextFrame
имеет атрибут ParentStory
, показывающий, из какой истории он загружает текст, и у каждого фрейма есть размеры, определяющие макет. Для несвязных текстовых фреймов (т. е. один рассказ ‹> один фрейм) это все, что вам нужно.
Для связанных фреймов вам необходимо использовать атрибуты PreviousTextFrame
и NextTextFrame
для создания цепочки. В IDML нет ничего, что могло бы сказать вам, сколько текста помещается в каждый фрейм в цепочке цепочек, вам нужно сделать расчет самостоятельно на основе рассчитанных размеров текста (или методом проб и ошибок).
Вы можете найти развороты в основном файле designmap.xml:
<idPkg:Spread src="Spreads/Spread_udd.xml" />
И разворот будет содержать один или несколько узлов TextFrame:
<Spread Self="udd" ...>
<TextFrame Self="uf7" ParentStory="ue5" PreviousTextFrame="n" NextTextFrame="n" ContentType="TextType">...</>
...
</Spread>
Что, в свою очередь, будет ссылаться на конкретную историю:
<Story Self="ue5" AppliedTOCStyle="n" TrackChanges="false" StoryTitle="$ID/" AppliedNamedGrid="n">...</>
(В этом примере кадры не связаны между собой, поэтому значения 'n'
.
Все это содержится в документации по IDML, которую вы можете найти вместе с другими документами для разработчиков InDesign здесь: http://www.adobe.com/devnet/indesign/documentation.html
person
Jude Fisher
schedule
05.11.2012