Избранное »

22.09.2014 – 07:27 | 2 комментария | 27 216 views

Здравствуйте все, кто работает в Индизайне!
Извещаем вас о том, что на youtube.com работает канал «InDesign Мастерская вёрстки». Там уже размещены более 70 видео с полным описанием как работать с программой DoTextOK. Другие интересные темы, касающиеся работы …

Читать полностью »
Работа в InDesign

Хитрости и секреты, приемы работы, уроки

Новая версия!

Особенности новой версии Индизайна

Плагины

Описание плагинов, информация о плагинах для работы с Adobe InDesign

Скрипты

Готовые к использованию скрипты для Adobe InDesign

Скриптинг

Описание языка, приёмов и методов программирования для Adobe InDesign

Home » Скрипты

Восьмое Марта близко, близко!

Добавлено на 01.03.2012 – 19:269 комментариев | 1 472 views

Одна из задач, сваливающихся накануне праздников – это подготовка именных вкладышей в поздравительные открытки. Вот и опять скоро придется в сумасшедшем темпе готовить несколько сотен листочков к 8 Марта.

Традиционно информация о персоналиях присылается в экселевском файле, и выглядит примерно так:

В поздравлении должно быть только имя и отчество, поэтому перенесём в InDesign только эту информацию

Чтобы переносилась таблица, а не только текст, в окне Preferences на вкладке Clipboard Handling надо указать, что копируется вся информация, а не только текст:

 

Имеющаяся в инструментарии программы опция слияния ячеек не способствует быстрому решению этой задачи.

Мало того, что надо поочередно выделять пары ячеек, после слияния имя и отчество становятся двумя абзацами.

Но эту задачу можно решить скриптом  MergeCellsInTwoColumnTable.jsx, он во вложении.

Скрипт работает только если в тексте нет переполнения. Поместите курсор в ячейку двухколонника, и после завершения работы программы в таблице останется одна колонка с перечнем поздравляемых.

Теперь таблицу превратите в текст – каждая строка будет отдельным абзацем. Чтобы каждый такой абзац помещался в новом фрейме, сделайте стиль, в котором на вкладке ‘Keep Options’ условие ‘Start Paragraph: установлено в In Next Frame’.

Теперь поздравлять можно хоть Государственную Думу, хоть ткацкий комбинат – время подготовки файла к печати займет несколько секунд.

Скачать скрипт MergeCellsInTwoColumnTable.jsx (*.zip)

 

9 комментариев »

  • Mehmeh:

    Можно в Экселе использовать функцию «=сцепить()», тогда имя и отчество будут в одной ячейке

  • iv-mi:

    Да, но в том случае, что стал причиной этого решения, у меня не было желания вносить правку в файл, лежащий на сервере.
    Реальная задача еще осложняется тем, что excel -файл организован так, что по выборке поздравителя выводится список тех, кого он будет поздравлять, и смена поздравителя выводит на экран новый список.
    В общем, пока самый быстрый и безопасный способ был копировать нужные столбцы и уже в Индизайне работать с информацией.
    Можно было бы слово «Уважаемая» тоже брать из соседней колонки. Но в реальном файле между колонкой с вариантом обращения и коленками «имя» и «отчество» очень мног столбов. Я для примера упростил и поставил их рядом. В реальном моем случае проще было взять соседние колонки с именем и отчеством, а слово Уважаемая добавлять в скрипте.

  • eugenyus:

    Честно говоря, «затык» при «ручной сборке», без скрипта, увидел только в восклицательном знаке на конце, и то, если это можно считать проблемой.
    Например, приведенная в статье двухколоночная таблица конвертируется сразу в текст с нужным результатом, если при конвертации задать Column Separator: » » (пробел). А «Уважаемая»? Выделить текст, диалог нумерованных списков, в поле «Numbering» набрать «Уважаемая «, ОК, Convert Numbering To Text. Ну а грепом и знак восклицательный потом приделать. Для разовой операции алгоритм, по-моему, тот, что надо.
    А если таких таблиц много, то конечно утомительно будет без скрипта.

  • Chekarkov:

    А зачем делать всё так сложно?
    Excel позволяет выгрузить лист таблица в текстовый файл (текст MS-DOS), в котором в блокноте заменяем все табуляции на пробелы, а при необходимости убираем два и более пробела. У нас есть текстовый файл, который мы можем спокойно вставить в InDesign.
    Не нравится через файл, можно через Word и буфер обмена. Выделяем в Excel нужный диапазон, переходим в Word и через команду «Вставка-Специальная вставка» получаем тот же текст с форматированием табуляцией. Убрать табуляцию и «двойнве» пробелы средствами Word — дело трех секунд.

  • iv-mi:

    Ух ты, сколько откликов!
    Спасибо, но согласитесь, что все они, ведя к одному и тому же результату, проигрывают скрипту в числе необходимых рукодвижений.
    Просто тут нет смысла объяснять всю кухню генерации именных поздравлений, когда каждый начальник хочет иметь свой комплект поздравлялок, и этот список почему-то бывает готов за очень поздно. И нам остаётся только придумать, как это сделать супербыстро.
    8 Марта — это еще цветочки, у меня пока всего восемь файлов с разным числом осчастливленных поздравлением, или подарком, или цветами, или открыткой. Но еще есть время, думаю, еще кто-нибудь тряхнёт на следующей неделе стариной, и пока она не отвалилась, : ) , захочет поздравить десятки своих знакомых.
    А когда на Новый год до трех тысяч вкладышей разного размера и имена-фамилии из разных файлов брать надо, и это не в один общий файл, а в разные, то этом случае лучший тот способ, в котором меньше всего шагов.

  • Chekarkov:

    Если «скрипт работает только если в тексте нет переполнения», а отчества могут быть очень длинными, а уверенности, что при вставке из буфера обмена таблица будет без переполнения у меня нет. Опять же не нужные рукодвижения.

  • Никита Качаев:

    А Data Merge, встроенный в InDesign, разве не решает эту задачу?

  • jvk:

    >> А Data Merge, встроенный в InDesign, разве не решает эту задачу?

    Вот и я сразу подумал про Data Merge. Тем более тут статья была как работать с Data Merge.

  • Mic256:

    Поздно уже, конечно, но всё же…
    Формула Excel-а, решающая эту задачу (в любой клетке правее списка, для примера номер строки = 1)
    = B1&» «&D1&» «E1&»!»
    В InDesign посредством DataMerge и делать-то особо ничего не надо, имена столбцов данных в нужные места шаблона вставить и всё.

Оставить комментарий!

Вы должны быть в системе чтобы оставить комментарий.