Таблиця з прозорими кордонами осередків | Ефективна робота в Adobe InDesign | Прийоми роботи, хитрості і секрети, скрипти, плагіни, автоматизація верстки
У цій статті розглянемо методику створення таблиці з прозорими кордонами. Такі таблиці, розташовані над малюнком, виглядають досить непогано.
Слід відразу сказати, що стандарт методами Індізайна таку таблицю створити не можна. У властивостях таблиці або комірки ви ніде не знайдете параметра, яким би задавалася прозорість ліній таблиці. Але якщо поекспериментувати з об'єктною моделлю, то за допомогою програмування можна досягти бажаного результату. Що і було зроблено нашими німецькими колегами на цьому сайті .
Ну а тепер сама методика.
1. Створюємо порожній текстовий кадр і вставляємо в нього таблицю (Меню> Table> Insert Table), задаючи потрібну кількість рядків і стовпців таблиці.
2. Створюємо стиль елементів таблиці. При цьому виділення з таблиці можна зняти. У розділі Strokes and Fills встановлюємо параметри як на малюнку нижче.
Обов'язково потрібно задати колір Gap Color, бажано білим кольором, без цього конструкція працювати не буде. Заливку осередків кольором робити немає ніякого сенсу, далі ви зрозумієте чому.
3. Переходимо в розділ Diagonal Lines, в якому задаємо, по-перше, будь-яку діагональ і велику товщину її лінії - близько 30 pt (щоб лінія гарантовано заповнила всю осередок). Далі задаємо колір і відтінок діагоналі (параметри Color, Tint), а також тип лінії, див. Рис. нижче.
Якщо необхідно, задайте параметри в розділах General і Text. На цьому створення стилю осередків закінчено.
4. Застосовуємо створений стиль до всіх елементів таблиці. Вийде приблизно так:
5. викачуємо скрипт «Прозорі лінії табліци.jsx», поміщаємо його в папку користувача скриптів.
В цьому скрипті якраз і встановлюються ті «секретні» властивості ліній таблиці, до яких немає доступу з інтерфейсу Індізайна
// transparenteTabellenzellenkonturlinien.jsx //http://www.hilfdirselbst.ch/foren/Transparente_Konturlinien_von_Tabellenzellen_P492902.html if (app. Selection .length> 0) {var _table = get_table (app. Selection [0]); if (_table! = null) {with (_table. cells .everyItem ()) {bottomEdgeStrokeType = null; innerColumnStrokeType = null; innerRowStrokeType = null; leftEdgeStrokeType = null; rightEdgeStrokeType = null; topEdgeStrokeType = null; }}} Function get_table (_obj) {var t = _obj; if (t. hasOwnProperty ( 'baseline') & amp; & amp; t. parent .parent .constructor .name == 'Table') t = t. parent .parent; else if (t. constructor .name == 'Cell') t = t. parent; else if (t. constructor .name! = 'Table') t = null return t; }
// transparenteTabellenzellenkonturlinien.jsx //http://www.hilfdirselbst.ch/foren/Transparente_Konturlinien_von_Tabellenzellen_P492902.html if (app.selection.length> 0) {var _table = get_table (app.selection [0]); if (_table! = null) {with (_table.cells.everyItem ()) {bottomEdgeStrokeType = null; innerColumnStrokeType = null; innerRowStrokeType = null; leftEdgeStrokeType = null; rightEdgeStrokeType = null; topEdgeStrokeType = null; }}} Function get_table (_obj) {var t = _obj; if (t.hasOwnProperty ( 'baseline') & amp; & amp; t.parent.parent.constructor.name == 'Table') t = t.parent.parent; else if (t.constructor.name == 'Cell') t = t.parent; else if (t.constructor.name! = 'Table') t = null return t; }
Розробники скриптів можуть поекспериментувати з відключенням параметрів типу ліній, встановлених в null в вихідному коді, отримуючи чергуються прозорі і непрозорі лінії.
6. Ну а ми повертаємося в Індізайн до нашої таблиці. Ставимо курсор в будь-яку клітинку і запускаємо скачаний скрипт. Після цього «натягуємо» таблицю на який-небудь малюнок, щоб перевірити результат
Все вийшло! Ура!
Змінюючи товщину діагоналі в стилі комірок можна отримати цікаві оформлювальні ефекти
Спасибі німецьким колегам за цю прекрасну методику!
PS Всі вищеописані дії проводилися в InDesign CS5.5. В інших версіях методика не випробовувалася.
завантажити скрипт «Прозорі лінії табліци.jsx» (zip)