<
  • Главная
Статьи

Скриптинг в InDesign, або Верстка для ледачих

  1. У попередніх статтях (у 2004 р - «Скрипти під Illustrator: геть рутину!»,? 7, с. 92 ; «Візитка...
  2. Що далі?
У попередніх статтях (у 2004 р - «Скрипти під Illustrator: геть рутину!»,? 7, с. 92 ; «Візитка на конвеєрі»,? 8, с. 80 ; «Мал золотник, да дорог»,? 10, с. 88 ; 2005 - «Календар на автопілоті»,? 6, с. 72 ) Ми на прикладах з практики розбиралися зі скриптинга під Illustrator. Тепер на черзі InDesign - кількість операцій, що чекають своєї автоматизації, при верстці не менше, аніж у векторному пакеті.

Скриптинг як засіб швидкого виконання великого обсягу рутинної роботи - річ незамінна. Зрозуміло, в дизайнерських програмах, наприклад, Photoshop і Illustrator CS, вона не може проявити себе в повній мірі: дизайн - процес творчий, рутини в ньому не так вже й багато. Зате верстальний пакет, такий як InDesign, - прекрасний кандидат для застосування скриптів. Великі обсяги тексту та ілюстрацій, численні графічні елементи оформлення, зв'язку з зовнішніми джерелами - все це диктує автоматизацію завдань саме при складанні публікацій. Можна сміливо стверджувати, що підтримка скриптинга - одне з головних переваг InDesign перед QuarkXPress, яке відіграло важливу роль при переході верстальників в табір Adobe.

Документацію по скриптам для InDesign см. http://partners.adobe.com/public/developer/ indesign / devcenter.html і http://www.adobe.com/products/indesign/pdfs/ indesign_cs_scripting_guide.pdf . По повноті опису об'єктів останній документ дещо поступається опису Illustrator. Це ускладнить написання першого скрипта, але властивості і методи роботи описані дуже докладно. На базовому рівні функціональність скриптинга в InDesign цілком адекватна Illustrator - той же об'єктно-орієнтований підхід, повний набір операцій зі своєю специфікою, та ж гнучкість, що дозволяє оперувати елементами публікації і текстом. Щоб не повертатися до основ скриптинга в продуктах Adobe, пошлюся на Publish? 7, 2004, с. 92 . Але скриптинг в InDesign просунувся далеко за рамки базових можливостей автоматизації дизайнерських програм.

По-перше, значно розширені інтерфейсні можливості. В Illustrator можна створювати власні вікна діалогу, і вихід з положення - використовувати обмежені можливості JavaScript. А в InDesign створюються діалогові вікна будь-якої складності (навіть з підгрупами елементів). У них присутні різні типи кнопок (в т. Ч. Радіо), спливаючі списки та інші елементи «красивого» життя, що спрощують дизайнеру управління скриптом. Але діалоговими вікнами доцільно користуватися тільки в складних скриптах, які потребують маси параметрів. У більшості ж завдань досить стандартного вікна запиту, знайомого по JavaScript і докладно описаного в тій же статті. Спрощується сам скрипт, підвищується його читабельність.

По-друге, в InDesign адекватно важливість справ розвинений механізм автоматичного перенесення публікації на іншу платформу - наприклад, для розміщення в Мережі (через XML), в т. Ч. З збереженням інтерактивності (за рахунок підтримки подій типу mouseIn і mouseOver). Це реалізація концепції Create once, ready everywhere - одного разу створений документ без проблем адаптується до будь-якого виду.

Як і для Illustrator, для InDesign можна писати скрипти на будь-якому з трьох мов - Visual Basic (для шанувальників продукції Microsoft), AppleScript (Mac OS) і переносних незалежному універсальному JavaScript, добре відомому веб-майстрам. Для двох перших в InDesign є додаткова зручність: для будь-якого об'єкта вибирається бажане дію зі списку операцій. При орієнтації ж на JavaScript вам доведеться грунтовно вивчити довідкове керівництво. Якщо ніколи не займалися програмуванням, ознайомтеся з основами скриптинга в згаданій вище статті. Хоча в ній розглядається механізм Illustrator, неспеціаліст легко розбереться в базових поняттях, що полегшить міграцію на InDesign.

Взаємні зв'язки між типами об'єктів добре узгоджуються з відносинами в Illustrator, але мають специфіку. Об'єкт вищого рівня - сам InDesign, в ньому може бути відкрито одночасно кілька документів, один з яких - активний (activeDocument). Потім градація йде по об'єктам, розташованим безпосередньо на сторінках (або розворотах) і окремо - на монтажному столі (pasteboard). Багато об'єктів InDesign існують в двох іпостасях: пов'язані з поточним документом (набір зразків кольору, стилі абзаців, окремих символів і друку, шрифти) і мають більш високий рівень - додатки, які не залежать від конкретного документа. До останніх відносяться настройки відображення публікації на екрані, мова та ін. Цікаво, що з зовнішніми джерелами можна працювати, як з Image (якщо растровий об'єкт) або EPS і PDF.

Механізм скриптинга дозволяє звертатися до будь-якого місця в публікації, причому не тільки в текстовому контейнері, але і в таблиці, до графічних елементів, котрі спрямовують. Це знімає обмеження на управління деякими об'єктами, що існують в Illustrator CS. Розробники приділяють скриптингу саме під InDesign багато уваги, звідси менше недоліків в порівнянні з векторним редактором. А ось підключити бібліотечні файли, як в Illustrator, на жаль, не можна.

Мета статті - не навчити скриптингу, а зацікавити написанням власних скриптів. Кращий спосіб - розглянути кілька типових задач верстальника. Виберемо щодо нескладні - на них ви відчуєте, як це робиться, а пізніше, освоївшись з механізмом скриптинга під InDesign, вам буде легше перейти до складних питань.

Видалення квітів, стилів символів і абзаців

В принципі, таке очищення перед передачею публікації на висновок робити необов'язково, але це свідчить про високу культуру робочого процесу і в цеховому співтоваристві вважається хорошим тоном. Попутно очистимо публікацію від порожніх текстових фреймів і містять тільки пробіл або абзац.

Зрозуміло, в кінці роботи скрипт повинен видавати звіт про внесені зміни. У початковий момент їх немає (CS - скорочення від characterStyles, PS - paragraphStyles, TF - textFrames):

deletedCS = 0; deletedPS = 0; deletedSwatches = 0; deletedTF = 0;

Для скорочення розміру скрипта будемо використовувати посилання на батьківський об'єкт для всіх що беруть участь елементів - на відкритий документ:

aD = app.activeDocument;

До невживаних квітам в скриптовой моделі InDesign можна дістатися через спеціальний об'єкт unusedSwatches. Таким чином, нам достатньо спочатку перевірити, чи присутні такі кольори в публікації (властивість length «кількість»> 0), і якщо так, то по черзі їх видаляти і заодно вести облік:

uSw = aD.unusedSwatches; if (uSw.length> 0) {for (i = 0; i

З квітами розібралися. Шукати невикористовувані стилі тексту будемо інакше: для таких елементів в InDesign немає методу, подібного розглянутому вище. Використовуємо можливості пошуку стилів, що існують у вікні пошуку / заміни (Find / Change), - в скриптовой моделі для цього є спеціальний об'єкт findPreferences. Всі стилі публікації можна дізнатися через aD.characterStyles; по черзі будемо їх перебирати і паралельно шукати відформатований ними текст. Якщо пошук нічого не дав, значить, стиль в публікації не використовується, і його потрібно видалити. Для звітності ведемо підрахунок віддалених стилів.

for (i = 1; i

Рядок app.findPreferences = null необхідна для скидання попередніх параметрів пошуку, інакше можуть залишитися значення в тих полях, які в новому пошуку не використовуються. Аналогічно діємо, видаляючи невживані стилі абзаців:

for (i = 1; i

З першою частиною скрипта розібралися. Що стосується другої (пошук порожніх текстових контейнерів), то скористаємося методом «contents», що дозволяє працювати з вмістом textFrames. Якщо контейнер порожній і не має кольору (це перевіряти обов'язково, оскільки часто кольорові текстові кадри використовуються в дизайнерських цілях), він видаляється; заблокований доведеться попередньо розблокувати.

tF = aD.textFrames; for (i = 0; i

Замість конструкції if ((tF [i] .contents == "") || (tF [i] .contents == "")) і т. Д. З довгим переліком умов перевірки скористаємося спрощеним способом - через оператор switch / case , а службовий символ «\ r» позначає символ абзацу.

В кінці виводимо звіт про роботу:

alert ( 'Deleted: \ n' + deletedCS + "unused CharacterStyles \ n" + deletedPS + "unused paragraphStyles \ n" + deletedSwatches + "unused swatches \ n" + deletedTF + "deleted empty text frames").

Як бачите, все просто. Скрипт remove_unused.js можна завантажити з сайту: www.publish.ru. Щоб InDesign його розпізнав, помістіть в папку C: \ Program Files \ Adobe \ Adobe InDesign CS \ Presets \ Scripts.

Що далі?

Одне із завдань, де також в повній мірі проявляється користь від скриптинга, - створення каталогів з продукцією, коли з заздалегідь підготовленої і ретельно вивіреної бази даних скрипт бере інформацію і вставляє в відповідні місця в публікації (контейнери з певними ідентифікаторами). Все виконується дуже швидко, і ризик отримання помилки в порівнянні зі звичайним способом зведений до мінімуму. Аналогічний підхід можна використовувати і при друку змінних форм, економлячи на придбання спеціалізованих рішень від Datalogics, Em Software, Sansui Software або XMPie. Інша сфера використання скриптинга - форматування: наприклад, оформлення деяким чином першого слова в усіх статтях публікації (наприклад, усіма великими) або вставка певного значка в кінці.

Автор недавно автоматизував завдання складного форматування списків використаної літератури в одному науковому журналі - номер джерела повинен був бути виконаний звичайним шрифтом, автори - курсивом, а все інше - знову звичайним. Раніше подібна задача вирішувалася написанням відповідного макросу в Word з подальшим впровадженням вже підготовленого тексту в XPress, тепер же все робиться прямо в пакеті верстки. А взагалі, завдань, що вирішуються за допомогою скриптинга, безліч. Людина створена для творчості, а не для рутини. Давайте доручимо її комп'ютера.

Про автора: Михайло Борисов ( [email protected] ), Пише для Publish корисні поради з додрукарської підготовки та огляди ПО.

»,?
Що далі?
»,?
Що далі?


Новости
    Без плагина
    На сайте WordPress имеется файл, именуемый как .htaccess. Многие пользователи не предают ему особого внимания и не используют все его возможности. На самом деле файл .htaccess – это дополнительные конфигурации

    Плагин подписки wordpress
    Очень трудно найти один плагин подписки wordpress , который объединил бы в себе все виды подписок, которые так необходимы сайту. Именно поэтому я решил сделать подборку лучших плагинов, которые смогут

    Слайд-шоу с помощью плагина для WordPress UnPointZero Slider
    Плагин для cms WordPress UnPointZero Slider – новостной слайдер. Он отражает в форме слайд-шоу изображения со ссылками на ваши статьи и краткие выдержки оттуда. Его можно установить и на новостной сайт,

    Плагины для Wordpress
    С помощью этого плагина вы легко сможете интегрировать Google диск на ваш WordPress сайт или блог . Gravity Forms — лучший плагин для создания форм на WordPress, от самых простых (например, форма

    Подписки плагином JetPack: размещение и редакция формы подписки
    Вступление Здравствуйте! В этой статье я покажу, как использовать плагин JetPack для создания пользовательской формы подписки и как эту формы подписки плагином JetPack добавлять в статьи сайта, а при

    Чистка сайта WordPress плагином WP-optimize
    От автора Со временем использования система WordPress накапливает не нужные файлы, комментарии и неиспользуемые данные в базе данных. Эти файлы и данные создаются в процессе работы и нужны для этого,

    Возможности Jetpack плагина
    Вступление Возможности Jetpack плагина это более 30 функциональных модуля плагина, делающего его универсальным плагином WordPress, заменяющего аналогичные сторонние плагины. Jetpack один заменяет десятки

    Резервное копирование WordPress сайта без плагинов
    Вступление Резервное копирование WordPress это второе, что нужно научиться делать после установки WordPress. Можно сколько угодно говорить о безопасности сайта и его защите, но лучшего варианта защиты

    Плагины на приват для Майнкрафт ПЕ
    > > Плагины на приват для Майнкрафт ПЕ Порой всем нам хочется попробовать себя в роли администратора сервера и испытать эту ответственность, но, к сожалению, вы не всегда все знаете о создании

    Плагин WordPress Database Backup. Архивация базы данных блога на WordPress
    Привет друзья! Сегодня на очереди еще один простой, НО, необходимый и полезный плагин — плагин WordPress Database Backup , который с легкостью и самостоятельно произведет процесс, который научно называется:

  • Виртуальный хостинг

    Виртуальный хостинг. Возможности сервера распределяются в равной мере между всеми... 
    Читать полностью

  • Редизайн сайта

    Редизайн сайта – это полное либо частичное обновление дизайна существующего сайта.... 
    Читать полностью

  • Консалтинг, услуги контент-менеджера

    Сопровождение любых интернет ресурсов;- Знание HTML и CSS- Поиск и обновление контента;-... 
    Читать полностью

  • Трафик из соцсетей

    Сравнительно дешевый способ по сравнению с поисковым и контекстным видами раскрутки... 
    Читать полностью

  • Поисковая оптимизация

    Поисковая оптимизация (англ. search engine optimization, SEO) — поднятие позиций сайта в результатах... 
    Читать полностью