Переключение видимости групп слоев InDesign на основе содержимого определенных помеченных текстовых фреймов - PullRequest
0 голосов
/ 12 октября 2018

Краткое описание: Я имею дело с документами InDesign, которые имеют несколько страниц и создаются путем извлечения данных из электронных таблиц .csv с помощью объединения данных.На каждой странице у меня есть знак цены продукта, который имеет несколько групп слоев, каждая из которых вмещает один из трех основных вариантов макета.Информацию нужно выкладывать одним способом, если цена меньше доллара, другим способом, если это доллар или больше, и другим способом, если он особенный, например, 3 за 5 долларов.

Я создалполе в электронной таблице .csv, которое отправляет текст (или оставляет пустым) текстовый фрейм в моем шаблоне InDesign, который действует как флаг, давая мне знать, какая группа слоев должна быть видимой.Например, если текстовый фрейм флага не содержит текста, я ничего не делаю, так как группа слоев для наиболее распространенного макета отображается по умолчанию, а все остальные группы слоев макета с ценами невидимы.

CSV Data showing text to be merged into the appropriate FLAG text frames (CSV-данные, показывающие текст, который должен быть объединен с соответствующими текстовыми фреймами FLAG)

Default layout and no flags present; no need to do anything (макет по умолчанию и никаких флагов нет; ничего делать не нужно)

Если на любой данной странице,текстовый фрейм флага содержит текст «КАЖДЫЙ», а затем, прокручивая страницы вниз, я быстро и легко вижу жирное, разноцветное слово КАЖДОЙ через знак, предупреждая меня об отключении видимости для группы слоев макета по умолчанию (с именем «FOR» и содержит уродливый, но очень легкий для просмотра флаг «EACH») и включает видимость для группы слоев «EACH».

The EACH flag is showing, indicating we need to turn on the EACH layout layer group. (флаг EACHпоказывая, указывая, что нам нужно включить КАЖДУЮ группу слоев макета.)

The layout is now correct (макет теперь правильный)

Кроме того, для каждого продукта есть две возможности макета, которыет имеет цену за каждый пункт.Итак, в тех случаях, когда я включил видимость для группы слоев макета «КАЖДЫЙ», есть другой флаг текстового фрейма, который либо пуст (в этом случае я уже закончил с этой страницей), либо он будет иметь текст »<$ 1.00 ", чтобы показать мне, что мне нужно отключить видимость подгруппы слоя макета« ЦЕНА »(которая является наиболее распространенным подуровнем в группе« КАЖДЫЙ ») и включить видимость макета« <$ 1.00 »подгруппа слоев, содержащаяся в группе слоев макета «EACH». </p>

Now that we've turned on the EACH layer group, a second flag now shows, indicating that we need to turn off layout layer subgroup named <$1.00 (Теперь, когда мы включили группу слоев EACH, теперь отображается второй флаг, указывающий, что нам нужно отключить подгруппу слоя макета«ЦЕНА» и включите подгруппу слоя макета с именем <$ 1,00) </p>

The layout is now correct (макет теперь правильный)


Цель: Вместо того чтобы вручную прокручивать, искать и изменять видимость групп на основе текстовых флагов, я хочу автоматизировать процесс.

Первым делом я хотел создать уникальные имена для флага.текстовые фреймы и доступ к ним напрямую по их именам.Я назвал слои текстового фрейма флага аналогично разметке HTML: «<*! ~ FLAG - Each ~! *>» И «<*! ~ FLAG - <$ 1.00 ~! *>».

See how the FLAG text frame layers are named.(Посмотрите, как названы слои текстового фрейма FLAG.)

Я подумал, что могу просто искать по всем слоям, пока не найду тот, который начинается с «<*! ~ FLAG», а затем проверить, содержит ли он такжекакой бы уникальный идентификатор я не искал, например «каждый» или «<$ 1,00».Как только я найду свой соответствующий текстовый фрейм флага, я проверю, является ли содержимое «КАЖДЫЙ» против «» или «<$ 1,00» против «», и затем продолжу соответствующим образом, регулируя видимость по мере необходимости. </p>


Что я спрашиваю: Я не знаю точно, как искать в текстовых фреймах и других элементах в группах, как читать или изменять названия слоевили группы слоев, или как переключать видимость в зависимости от ситуаций, описанных выше.Спасибо за любую помощь здесь.

Кроме того, если есть более простой, лучший или надежный способ сделать это, я очень открыт для других подходов и идей.

Заранее спасибо заваша помощь!

...