Как выбрать абзац и изменить его стиль с помощью скрипта InDesign

1

Я разбираю XML-документ в InDesign и пытаюсь изменить каждый стиль абзаца.

Если я сделаю это так:

myTextFrame.parentStory.texts.item(0).applyParagraphStyle(<<style>>);

он изменит весь текст, поскольку это будет один абзац.

Этот код, однако, не будет работать вообще:

for (var i = 0; i < <<paragraphs.length>>; i++)
{
    if (styles[i].isValid)
        myTextFrame.parentStory.texts.item(i).applyParagraphStyle(styles[i]);
}

Также кажется, что я не могу назвать метод applyParagraphStyle в классе "Параграф".

Мой XML:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<root>
   <book>
      <authors>
         <author>Lee Roy</author>    
      </authors>
      <title>Name of the book</title>
      <subtitle>How to XML</subtitle>
   </book>
</root>

Затем я разбираю их следующим образом:

var string = "";
for (var i = 0; i < wholeXML.length(); i++)
{
    var book = wholeXML.child(i);

    string += book.child("title").toString() + "\r";
    string += book.child("subtitle").toString() + "\r";
}

Результат будет выглядеть примерно так:

Name of the book
How to XML

Теперь, мой вопрос: как я могу изменить один стиль абзаца?

  • 0
    applyParagraphStyle - это метод класса Paragraph , поэтому я бы внимательно посмотрел, почему ваш второй блок кода выше не работает. Либо аргументы, которые вы передаете, являются плохими, либо myTextFrame.parentStory.texts.item(i) возвращает что-то, что не является абзацем . Пора запустить отладчик и пройтись по нему, исследуя все до аварии. :-)
Теги:
indesign

1 ответ

1
Лучший ответ

Вы можете просто изменить стиль абзаца одного абзаца, установив его appliedParagraphStyle свойствоParagraphStyle.

myTextFrame.parentStory.paragraphs[0].appliedParagraphStyle = "nameOfParagraphStyle";

Ещё вопросы

Сообщество Overcoder
Наверх
Меню