Наш канал на Youtube
Здравствуйте все, кто работает в Индизайне!
Извещаем вас о том, что на youtube.com работает канал «InDesign Мастерская вёрстки». Там уже размещены более 70 видео с полным описанием как работать с программой DoTextOK. Другие интересные темы, касающиеся работы …
Хитрости и секреты, приемы работы, уроки
Особенности новой версии Индизайна
Описание плагинов, информация о плагинах для работы с Adobe InDesign
Готовые к использованию скрипты для Adobe InDesign
Описание языка, приёмов и методов программирования для Adobe InDesign
Программирование привязанных объектов, часть 1
Режим привязки
Параметры привязанного объекта задаются при помощи Preference Suite, раздел AnchoredObjectSettings а также константами Enum Suite. В Индизайне существует 2 режима привязки, которые выбираются из диалогового окна Menu > Object > Anchored Object > Options. Это ‘В строке или над строкой’ (InLine or Above Line) и произвольные заякоренные объекты (Custom).
Фрагмент диалогового окна индизайна
Но в объектной модели InDesign режим «В строке или над строкой» разделен на два отдельных режима, первый — «В строке» (InLine), второй — «Над Строкой» (Above Line), поэтому нам будет правильнее рассматривать три режима привязки.
Выбор режима производится параметром anchoredPosition . Режим Custom (Заказной) задается константой AnchorPosition.ANCHORED
Для объектов Above Line
Inline и AboveLine объекты
Диалоговое окно привязки объектов, режим InLine or Above Line
Вертикальное смещение Y Offset в режиме InLine задается параметром anchorYoffset
В режиме Above Line (Над строкой) расстояния Space Before и Space After (‘Отбивка до’ и ‘Отбивка после’) задаются параметрами anchorYoffset и anchorSpaceAbove
myAboveLineFrame.anchoredObjectSettings.anchorYoffset = ‘5mm’; myAboveLineFrame.anchoredObjectSettings.anchorSpaceAbove = ‘3mm’;
Список вариантов выравнивания
Горизонтальное расположение объекта относительно строки (выпадающий список Aligment) задается параметром horizontalAlignment , который может принимать значения констант
HorizontalAlignment.RIGHT_ALIGN,
HorizontalAlignment.LEFT_ALIGN,
HorizontalAlignment.CENTER_ALIGN,
HorizontalAlignment.TEXT_ALIGN
Для InLine-объектов этот параметр не задается.
Пример скрипта по созданию InLine-привязанного текстового фрейма:
// CreateInlineFrame.jsx var myDocument = app.activeDocument;// Документ уже создан // Устанавливаем единицы измерения myDocument.viewPreferences.horizontalMeasurementUnits = MeasurementUnits.points; myDocument.viewPreferences.verticalMeasurementUnits = MeasurementUnits.points; // Получаем ссылку на страницу var myPage = myDocument.pages.item(0); // Добавляем текстовый фрейм var myTextFrame = myPage.textFrames.add(
Если при создании текстового фрейма ему не задается содержимое (свойство contents ), то строка скрипта, определяющая точку вставки
var myInsertionPoint = myTextFrame.paragraphs.item(0).insertionPoints.item(0);
вызовет ошибку, так как в текстовом фрейме нет никаких абзацев. В этом случае более правильным будет определить myInsertionPoint следующим образом:
var myInsertionPoint = myTextFrame.insertionPoints.item(0);
Пример скрипта по созданию привязанного объекта AboveLine
// CreateAbovelineFrame.jsx var myDocument = app.documents.add(); // Устанавливаем единицы измерения myDocument.viewPreferences.horizontalMeasurementUnits = MeasurementUnits.points; myDocument.viewPreferences.verticalMeasurementUnits = MeasurementUnits.points; // Получаем ссылку на 1-ю страницу документа var myPage = myDocument.pages.item(0); // Добавляем текстовый фрейм var myTextFrame = myPage.textFrames.add(
Произвольные заякоренные объекты (режим привязки — Custom)
Они могут располагаться в любом месте страницы
Диалоговое окно задания опций привязки, режим Custom
Параметр Relative to Spine (Относительно корешка) в скриптах задается свойством spineRelative раздела anchoredObjectSettings (Preferences Suite), и может принимать значения true или false :
Контрольная точка привязанного объекта (Anchored Object Reference Point) устанавливается при помощи свойства anchorPoint , которое может иметь 9 значений и устанавливается при помощи 9 констант из Enum Suite
AnchorPoint.TOP_LEFT_ANCHOR
AnchorPoint.TOP_CENTER_ANCHOR
AnchorPoint.TOP_RIGHT_ANCHOR
AnchorPoint.LEFT_CENTER_ANCHOR
AnchorPoint.CENTER_ANCHOR
AnchorPoint.RIGHT_CENTER_ANCHOR
AnchorPoint.BOTTOM_LEFT_ANCHOR
AnchorPoint.BOTTOM_CENTER_ANCHOR
AnchorPoint.BOTTOM_RIGHT_ANCHOR
Пример задания положения контрольной точки:
Положение привязанного объекта определяется свойствами horizontalAlignment и verticalAlignment , которые могут быть следующими:
HorizontalAlignment:
HorizontalAlignment.RIGHT_ALIGN
HorizontalAlignment.LEFT_ALIGN
HorizontalAlignment.CENTER_ALIGN
HorizontalAlignment.TEXT_ALIGN
VerticalAlignment:
VerticalAlignment.TOP_ALIGN
VerticalAlignment.BOTTOM_ALIGN
VerticalAlignment.CENTER_ALIGN
Началом отсчета по оси Х может выступать маркер привязанного объекта, край колонки, текстовый фрейм, поле страницы, край страницы.
Начало отсчета по оси Х определяется свойством horizontalReferencePoint , которое может принимать значение следующих констант:
AnchoredRelativeTo.COLUMN_EDGE
AnchoredRelativeTo.TEXT_FRAME
AnchoredRelativeTo.PAGE_MARGINS
AnchoredRelativeTo.PAGE_EDGE
AnchoredRelativeTo.ANCHOR_LOCATION
Началом отсчета по оси Y может быть базовая линия строки, линия высоты прописных букв, линия интерлиньяжа, край колонки, текстовый фрейм, поле страницы, край страницы
Эти параметры определяются константами:
VerticallyRelativeTo.COLUMN_EDGE
VerticallyRelativeTo.TEXT_FRAME
VerticallyRelativeTo.PAGE_MARGINS
VerticallyRelativeTo.PAGE_EDGE
VerticallyRelativeTo.LINE_BASELINE
VerticallyRelativeTo.LINE_XHEIGHT
VerticallyRelativeTo.LINE_ASCENT
VerticallyRelativeTo.CAPHEIGHT
VerticallyRelativeTo.TOP_OF_LEADING
VerticallyRelativeTo.EMBOX_TOP
VerticallyRelativeTo.EMBOX_MIDDLE
VerticallyRelativeTo.EMBOX_BOTTOM
которые присваиваются свойству verticalReferencePoint
Пример скрипта по созданию произвольно привязанного объекта
// CreateAnchoredFrame.jsx var myDocument = app.documents.add(); // Устанавливаем единицы измерения myDocument.viewPreferences.horizontalMeasurementUnits = MeasurementUnits.points; myDocument.viewPreferences.verticalMeasurementUnits = MeasurementUnits.points; // Получаем ссылку на 1-ю страницу документа var myPage = myDocument.pages.item(0); // Добавляем текстовый фрейм var myTextFrame = myPage.textFrames.add(
Рассмотренные выше примеры иллюстрируют привязку текстового фрейма. Но если требуется привязать прямоугольник или другую геометрическую фигуру, то вместо строки
Проблемы с "якорями"
Один вопрос — одна тема, это понятно. Но как быть если одна тема, а вопросов по ходу несколько?
Осваиваю "якорные" привязки, но что-то идет не так — изображение якорится абслютно не туда, куда надо. Что-то никак не могу в установках (опциях) разобраться.
Не понятыми пока остались 3 вещи:
1. Почему изображение цепляется только за левый нижний угол, хотя позиционировала верхний (игралась с разными опорными точками, но так как мне надо цепляет только за левый нижний?
2. Откуда-то всплывает дополнительный заякоренный фрейм в вернем левом углу. Т.е и картинка якорится и еще один фрейм дается. Что не так с установками?
3. Опять же не понятно: у фрейма с картинкой и якорем есть и обтекание, но текст все равно под таблицу уходит. Приходится высвобожать место абзацными отступали, но по-моему это в корне некорректно.
Я вообще не могу понять, что надо вводить в данном меню (что все эти параметры означают?:
Йожег
без телевизора
- 28.11.2013
- #2
Krest
- 28.11.2013
- #3
- 28.11.2013
- #4
Skvoznyak
- 28.11.2013
- #5
Дахин
Участник
- 05.12.2013
- #6
Когда заякоренный фрейм вгоняю в середину текста, то все нормально — отступ вниз на одну базовую, как надо, но когда надо, чтобы этот фрейм с содержимым крепился к верхней границе печатного поля, все равно идет абзацный отступ. То ли я в установках что-то не додала, то ли это явление можно "перехитрить", приподняв текстовый фрейм за границу поля. Что я делаю не так и допустимо ли такое "шаманство"?
Не по теме:
И еще — как избавиться от значка-решетки в верхнем левом углу? Не очень понимаю откуда он взялся, причем только на четных страницах. "Рыбу" верстки мне скинули, а я сейчас разгребаю. Делала бы сама, хоть знала бы откуда ноги растут
Привязанные объекты
Привязанные объекты — это элементы, например изображения или текстовые поля, которые присоединены или привязаны к некоторому тексту. По мере перекомпоновки текста по документу привязанный объект перемещается вместе с привязкой. Привязка позволяет прикреплять к определенным строкам или блокам текста любые объекты, например: врезки, сноски, рисунки или значки, связанные с заданным словом.
Привязанный объект (кадр) может быть создан вставкой или помещением в текст объекта или фрейма при помощи инструмента «Текст» или команды «Вставить привязанный объект». При размещении объекта Adobe InDesign CS4 добавляет маркер привязанного объекта в точку ввода. Привязанные объекты наследуют атрибуты наклона и поворота текстового фрейма, к которому они прикреплены, даже если расположены за его пределами. Эти атрибуты можно изменить, выделив объект.
Привязанные объекты могут быть созданы в одном из перечисленных ниже режимов позиционирования.
Выравнивает привязанные объекты по базовой линии точки ввода. Может быть отрегулировано смещение объекта по оси Y относительно базовой линии. Этот тип привязанного объекта выбран по умолчанию. В предыдущих версиях программы InDesign эти объекты назывались вложенными изображениями.
Помещает привязанный объект над строкой, выравнивая его одним из следующих способов: «Слева», «По центру», «Справа», «К корешку», «От корешка» и «Настройки абзаца». «Настройки абзаца» — это режим выравнивания, примененный к абзацу, в котором содержится маркер привязанного объекта.
Помещает привязанный объект в позицию, заданную пользователем в диалоговом окне «Параметры привязанного объекта». Объект может быть размещен в любом месте внутри или за пределами текстового фрейма.
Объекты с текстом по контуру могут быть размещены с позиционированием в строке или над строкой (см. раздел Добавление привязанных объектов к тексту по контуру).
A. Размещение в строке B. Размещение над строкой (выравнивание влево) C. Заказное размещение (выравнивание по краю текстового фрейма)
Создание привязанного объекта
Если объекта для помещения еще нет (например, еще не написан текст врезки), то можно создать пустой привязанный фрейм, который будет служить в качестве шаблона для содержимого, которое будет добавлено позже. Размер привязанного фрейма может быть изменен в любое время, при этом обновление параметров его положения будет происходить автоматически.
Чтобы добавить привязанный объект, при помощи инструмента «Текст» поместите точку ввода в место привязки, а затем поместите или вставьте из буфера обмена сам объект.
Если фрейм для объекта расположен выше, чем строка текста, в которой он находится, то либо текст перекроет импортированное изображение, либо увеличится интервал над строкой. Попробуйте выбрать другое положение привязанного объекта, вставить мягкий или жесткий перенос строки, изменить размер вложенного объекта или изменить интерлиньяж окружающих строк.
Чтобы привязать существующий объект, выделите его и выберите меню «Редактирование» > «Вырезать». Затем при помощи инструмента «Текст» установите точку ввода в то место, где должен быть размещен объект, и выберите «Редактирование» > «Вставить». По умолчанию привязанный объект располагается в строке.
Чтобы добавить шаблонный фрейм для объекта, которого еще нет (например, для еще не написанного текста для бокового поля), при помощи инструмента «Текст» установите точку ввода в место привязки объекта, а затем выберите «Объект» > «Привязанный объект» > «Вставить».
Символы текста можно привязать, создав для них кривые. При выполнении этой операции каждый символ текста автоматически преобразуется в привязанный объект в строке.
Чтобы пропустить диалоговое окно «Привязанный объект», воспользуйтесь комбинацией клавиш «Вставить привязанный объект / Перейти к маркеру привязанного объекта». Возможно, ее придется задать в редакторе комбинаций клавиш (он доступен в области «Текст и таблицы»). Повторное нажатие данной комбинации клавиш отменяет выделение объекта и перемещает курсор обратно к основному тексту. (См. раздел Использование наборов комбинаций клавиш.)
Параметры вставленных привязанных объектов
При вставке шаблонного элемента для привязанного объекта могут быть заданы следующие параметры содержимого:
Определяет тип объекта, который будет содержать шаблонный фрейм.
Если выбрать значение «Текст», то в текстовом фрейме появится точка ввода, а если «Графика» или «Не назначено», то InDesign выделит фрейм.
Определяет стиль, который необходимо применить для форматирования объекта. Если ранее были определены и сохранены стили объекта, то они будут перечислены в этом меню.
Определяет стиль абзаца, который необходимо применить для форматирования объекта. Если ранее были определены и сохранены стили абзаца, то они будут перечислены в этом меню.
Если для стиля объекта задан стиль абзаца, в меню «Стиль абзаца» выбирается другой стиль либо для заданного стиля производится изменение параметров положения привязанного объекта, то в меню «Стиль объекта» появляется знак «плюс» (+), указывающий на то, что параметры изменены.
Высота и ширина
Задают размеры шаблонного фрейма.
Параметры размещения в строке или над строкой
Если в диалоговом окне «Параметры привязанного объекта» меню «Положение» выбрать пункт «В строке или над строкой», то для настройки размещения привязанного объекта будут доступны следующие параметры: (они также доступны в диалоговом окне «Вставить привязанный объект»).
Выравнивает нижний край привязанного объекта по базовой линии. Перемещение вложенных объектов вдоль оси Y связано с определенными ограничениями: верхний край объекта не может быть ниже нижнего края служебного поля интерлиньяжа, а нижний край объекта не может быть выше верхнего края служебного поля интерлиньяжа.
Регулирует положение относительно базовой линии. Для вертикального перемещения объекта по странице может также применяться мышь.
Выравнивает объект выше строки текста, в которой содержится маркер привязанного объекта, но ниже предшествующей ей строки.
Выберите один из следующих параметров:
«Слева», «По центру», «Справа».
Производит выравнивание в пределах колонки. Эти параметры игнорируют значения отступа, применяемые к абзацу, и выравнивают объект в рамках всего столбца.
«К корешку» и «От корешка»
Выравнивает объект по правому или левому краю в зависимости от стороны разворота. Эти параметры игнорируют значения отступа, применяемые к абзацу, и выравнивают объект в рамках всего столбца.
Выравнивает объект на основе типа выравнивания, заданного для абзаца. При выборе этого параметра при выравнивании объекта используется значение отступа абзаца.
Задает положение объекта относительно нижнего края служебного поля интерлиньяжа в предыдущей строке текста. Положительные значения смещают вниз как сам объект, так и текст под ним. Отрицательные значения смещают текст, находящийся под объектом, по направлению вверх (к объекту). Максимальное отрицательное значение равно высоте объекта.
Задает положение объекта относительно высоты прописных букв первого символа в строке под ним. При нулевом значении нижний край объекта выравнивается по высоте прописных букв. Положительные значения смещают текст, находящийся под объектом, по направлению вниз (от нижнего края объекта). Отрицательные значения смещают текст, находящийся под объектом, по направлению вверх (к объекту).
A. Если для параметра «Отбивка до» задать значение «0Р10», объект и связанный с ним текст перемещаются в направлении от строки текста над ним. B. Если для параметра «Отбивка после» задать значение «0р10», то объект и строка текста над ним перемещаются в направлении от связанной строки текста (снизу).
Привязанные объекты в режиме «Над строкой» всегда находятся рядом со строкой, содержащей точку привязки. Текст не будет компоноваться таким образом, чтобы объект находился внизу одной страницы, а строка с маркером привязанного объекта находилась вверху следующей страницы.
Параметры пользовательского размещения
В режиме пользовательского размещения привязанного объекта доступны следующие параметры. Они задаются в диалоговом окне «Вставка привязанного объекта» или «Параметры привязанного объекта». Для получения пошаговых инструкций по использованию этих параметров см. раздел Выбор заказного положения привязанного объекта.
Определяет возможность выравнивания объекта относительно корешка документа. Если выбран этот параметр, то экранное представление «Контрольная точка привязанного объекта» отображается в виде разворота. Эти две страницы являются зеркальным отображением друг друга. Если выбран этот параметр, то объекты, находящиеся на одной стороне разворота (например, на внешнем поле), остаются на внешнем поле, даже если текст перекомпоновывается на противоположную страницу.
A. Параметр «Относительно корешка» не выбран: объект остается с левой стороны текстового фрейма при перекомпоновке текста на правую сторону разворота. B. Параметр «Относительно корешка» выбран: объект остается на внешнем краю страницы при перекомпоновке текста на правую сторону разворота.
Если после выбора параметра «Относительно корешка» проводится изменение значения сдвига по горизонтали, то направление смещения объекта может измениться. Это происходит из-за того, что направление смещения также зависит от того, с какой стороны разворота расположен объект.
Привязанный объект: контрольная точка
Задает на объекте точку, которую необходимо выровнять относительно некоторой точки на странице (задается положением контрольной точки привязанного объекта). Например, если необходимо выровнять правую сторону объекта с каким-либо элементом страницы, например с текстовым фреймом, щелкните крайнюю правую точку на экранном представлении. Для получения дополнительных сведений по использованию этой контрольной точки см. раздел Выбор заказного положения привязанного объекта.
Положение привязанного объекта: контрольная точка
Задает место на странице (определяется параметрами «Начало отсчета (X) и (Y)»), относительно которого необходимо выровнять объект. Например, если для параметра «Начало отсчета (Х)» выбрать значение «Текстовый фрейм», а для параметра «Начало отсчета (Y)» — значение «Строка (базовая линия)», то экранное представление будет состоять из горизонтальной области текстового фрейма и вертикальной области строки текста, содержащей маркер привязанного объекта. Если щелкнуть крайнюю левую точку на этом экранном представлении, то контрольная точка объекта будет выровнена по левому краю текстового фрейма и базовой линии текста.
В зависимости от того, какие значения имеют параметры «Начало отсчета (X)» и «Начало отсчета (Y)», экранное представление «Положение контрольной точки привязанного объекта» отображает либо три, либо девять позиций. Параметры строки (например, «Строка (базовая линия)») отображают всего три параметра: слева по центру, по центру и справа по центру, поскольку вертикальное позиционирование задается маркером привязанного объекта в тексте.
Начало отсчета (Х)
Определяет объект, который необходимо использовать в качестве основы для выравнивания по горизонтали. Например, параметр «Текстовый фрейм» позволяет выровнять объект по центру, по правой или по левой стороне текстового фрейма. Выравнивание по горизонтали зависит от расположения контрольных точек и смещения, заданного параметром «Сдвиг по оси X».
Например, если необходимо, чтобы объект отображался на поле страницы с правым краем, захваченным полем страницы, выберите для параметра «Начало отсчета (X)» значение «Поле страницы» и задайте правую крайнюю точку в экранном представлении «Контрольная точка связанного объекта» и левую крайнюю точку в экранном представлении «Положение контрольной точки привязанного объекта».
А. Выравнивание правой стороны объекта по левой стороне текстового фрейма Б. Выравнивание правой стороны объекта по левой стороне поля страницы.
Перемещает объект влево или вправо. Направление перемещения зависит от контрольной точки. При выравнивании по центру элемента страницы положительное значение перемещает объект вправо. Направление перемещения также зависит от того, выбран ли параметр «Относительно корешка».
Начало отсчета (Y)
Задает объект, который будет использоваться в качестве основы для выравнивания по вертикали. Например, параметр «Край страницы» позволяет в качестве основы при выравнивании объекта по центру, верху или низу страницы использовать край страницы. Положение контрольной точки привязанного объекта определяет, будет ли объект выравниваться по центру, по верхнему или по нижнему краю этого элемента страницы. Если выбран строчный режим (например, «Строка (базовая линия)»), то в поле «Положение контрольной точки привязанного объекта» отображается только средняя горизонтальная строка точек.
A. Выравнивание верхней стороны объекта по верхнему краю страницы B. Выравнивание нижней стороны объекта по нижнему краю страницы
Перемещает объект вверх или вниз. При положительном значении объект перемещается вниз.
Удерживать в границах колонок по высоте
Удерживает объект внутри столбца текста, если перекомпоновываемый текст может привести к перемещению объекта за границы столбца. В таких случаях либо нижний край объекта выравнивается по нижнему отступу, либо верхний край объекта по верхнему отступу. Например, привязанный объект выступает за пределы строки и хорошо выглядит в середине колонки. Однако если этот параметр не выбран и при компоновке маркер привязанного объекта переместился в нижнюю часть колонки, объект может перейти край колонки или даже выйти за пределы страницы. Если этот параметр выбран, то объект невозможно будет переместить выше или ниже границ колонки. При изменении размера объекта в случае необходимости он будет снова выровнен по верхней или нижней границе колонки. Этот параметр доступен только в том случае, если для параметра «Начало отсчета (Y)» выбран строчный режим (например, «Строка (базовая линия)»).
Когда InDesign изменяет положение объекта, подгоняя его к границам колонки, заданное значение смещения по оси Y отображается в диалоговом окне со знаком «плюс» (+).
Исключить позиционирование вручную
Гарантирует, что привязанный объект не может быть перемещен на странице перетаскиванием или сдвигом.
Показывает изменения позиционирования элементов на странице после их выполнения.
Выбор заказного положения привязанного объекта
При использовании диалогового окна «Параметры привязанного объекта» для выбора заказного положения привязанного объекта необходимо обратить внимание на следующие моменты:
Параметры заказного положения включают четыре основных пункта: Два экранных представления контрольной точки и два меню — «Начало отсчета (X)» и «Начало отсчета (Y)». В совокупности эти параметры определяют положение объекта. Например, «Начало отсчета (X)» и «Начало отсчета (Y)» определяют смысл значения, представляемого параметрами «Положение контрольной точки привязанного объекта». Это может быть текстовый фрейм, строка текста в колонке или вся страница. На следующем рисунке показано, как изменить положение объекта выбором различных контрольных точек при неизменных значениях параметров «Начало отсчета (X)» и «Начало отсчета (Y)».
А.В экранном представлении «Привязанный объект» выбирается правая нижняя точка, а в экранном представлении «Положение привязанного объекта» — левая центральная. Б. Перемещение экранной точки привязанного объекта к верхнему левому углу и сохранение местоположения экранной точки в центре слева. В. Сохранение экранной точки привязанного объекта вверху слева и перемещение точки привязанного объекта к центру справа.
Чтобы создать привязанный объект, который при перекомпоновке текста сохраняет свое положение на странице неизменным (например, в верхнем левом углу) и изменяет его только в том случае, если производится перенос текста на другую страницу, прикрепите объект к полю или краю страницы. Например, установите «Начало отсчета (X)» и «Начало отсчета (Y)» для параметра «Поле страницы», щелкните верхнюю левую контрольную точку для объекта и верхнюю левую контрольную точку для элемента страницы . При перекомпоновке текста объект останется в верхнем левом углу на полях страницы. Только когда строка текста, содержащая точку привязки, перекомпоновывается на другую страницу, произойдет перемещение объекта в верхний левый угол следующей страницы.
A. Переместите объект с помощью параметров «Поле страницы» или «Край страницы» относительно осей X и Y. Б. При перекомпоновке текста объект следует за текстом, только когда текст перемещается на другую страницу.
Чтобы объект выравнивался относительно заданной строки текста при перекомпоновке, выберите в меню «Начало отсчета (Y)» параметр «Строка».
Выберите параметр «Текстовый фрейм» из меню «Начало отсчета (X)», чтобы сохранить объект в рамках текстового фрейма, но не выровненным с заданной строкой текста при его перекомпоновке.
Выберите параметр «Относительно корешка», чтобы выровнять объект относительно поля, например для создания врезки, которая остается во внешнем поле при перекомпоновке текста со страницы на страницу.
How to use InDesign’s Anchored Objects to create quality ebooks
Ron Bilodeau is the Production & Design Specialist for O’Reilly Media, Inc. He’s using InDesign to develop seamless workflows for easily exporting print- and web-ready PDFs, as well as EPUB and Mobi digital book formats, from the same source files. In addition to his InDesign work, Ron is also working with the O’Reilly Atlas team where he is developing custom stylesheets for this new and exciting (fully automated) digital publishing platform. He will be at ebookcraft 2017 to give a workshop about Leveraging InDesign for All It’s Worth.
Think InDesign can’t provide quality ebook output? Think again. By applying certain rules, you can effectively eliminate the need for a separate workflow and leverage InDesign for all it’s worth. Let’s look at how to use Anchored Objects to create great EPUB files.
What are Anchored Objects?
In InDesign, an Anchored Object is a frame (or group of frames) that contains text, images, graphics, or tables (or a combination of two or more of these). There are three types of Anchored Objects in InDesign:
The reason for anchoring an object in InDesign is to maintain that object’s positioning on the page, relative to the corresponding text. In addition, the anchor also determines the object’s positioning when exported to HTML or EPUB.
Inline Objects
An Inline Object, in InDesign, is any object that is placed directly and visually into the text flow. A common example of this is a small graphic (or icon) that is placed directly into a paragraph. For example:
Another common example of this type of placement is when a larger object is placed inline into an empty paragraph.
In both examples, above, if the text is edited or reflowed in any way, the inline objects will move accordingly.
Above Line Objects
Anchored Objects that are set to above line are placed in a way similar to my second inline example, above. As you can see from the panel options (to the right), Above Line Objects have additional alignment and spacing options that can be applied.
Custom Anchored Objects
Custom Anchored Objects are special because they can be placed anywhere on the page and then anchored accordingly. As you can see in the example (below), the photo is placed in the bottom right corner, but the anchor is placed at the end of the first paragraph (the dashed blue line shows the anchor placement of the image). There are lots of settings in the Custom panel, which can be quite daunting, but most InDesign users will likely never need to manually adjust those. For the most part, all you need to do is click and drag the object in order to change its position.
Grouped Objects
As I mentioned previously, an object can also contain a group comprising different types of frames. A common example of this is an image with a caption. In the below example, you can see that the Inline Anchored Object is an Object Group that contains a photo frame and a text frame. This is a very common way to keep photos and captions together.
What happens to these objects on EPUB export?
Each type of Anchored Object has different default settings for when it’s exported to HTML or EPUB.
Inline Objects will always be rasterized (i.e., converted to pixel-based images). Even when the object contains live text, the text will be rasterized. There is no way to change this setting for Inline Objects.
By default, Above Line and Custom Anchored Objects will retain live text when exported to EPUB. If the desired result is to have the object rasterized, that setting can be changed in the Object Export Settings panel.
Why is this important to know?
In my experience, it is very common to group caption text with images and then anchor them as Inline Objects within the text flow (just like the Grouped Objects example, above). However, since InDesign will always rasterize the caption text in this scenario, it’s not ideal. I prefer to keep the caption text “live” when exporting to EPUB.
How to get around this
Fortunately, for this particular scenario, there is an easy solution. Instead of having to change up my entire workflow, I can simply set my Inline Objects to be Above Line Objects.
For my Grouped Object example (above), in addition to changing it to Above Line, I will also need to adjust the Space Before and Space After settings (right).
In addition, if you are using Object Styles to manage these settings, making this one change there will update your objects globally.
All of the image and caption groups will now export to EPUB with the desired result of keeping the groups together and retaining live text.