Довелось потратить кучу времени на разработку нескольких печатных форм. Макет решил делать в MS Word, чтобы сохранить нюансы форматирования предоставленного образца, т.к. заказчик наставивал на соблюдении всех деталей фирменного стиля. В процессе разработки столкнулся с разными проблемами, в том числе связанными с оформлением макета. Вариантами решения некоторых проблем захотелось поделиться, чтобы сохранить кому-нибудь время и нервы.
Регулируем высоту колонтитулов с помощью размеров шрифта
Возникла проблема с тем, что в итоговой форме размер пустого колонтитула упорно отличался от того, что был задан в макете. Вышел из ситуации путем добавления белой точки в колонтитул макета. У точки установил размер шрифта, чтобы достигнуть подходящего размера колонтитула.
Вариант оформления подписей с помощью таблицы
Довелось видеть разные подходы к оформлению подписей сторон в договорах, обычно сделано это аляповато. Мой вариант оформления не претендует на оригинальность, но помогает сохранить презентабельный внешний вид документу.
Итак, задача: настроить вывод подписей сторон, включая должность, горизонтальную черту под подпись и ФИО ответственного лица. Подписи должны располагаться на одном уровне независимо от длины должности и ФИО.
Вариант реализации:
- Создать таблицу. Пример:
- Настроить форматирование таблицы
- Установить фиксированную ширину столбцов
- Выбрать выравнивание элементов в ячейках таблицы. Например, должность выравниваем по правому краю, а ФИО по левому, «м.п.» выравниваем по центру. ФИО и должность дополнительно выравниваем по нижнему краю ячейки.
- Настроить отображение границ в зависимости от требований. Пример: используем вариант «Нет границ», а затем добавляем нижнюю границу в ячейке, где требуется горизонтальная черта для подписи.
- Если подписи сторон нужны на каждой странице, помещаем таблицу в колонтитул.
Не показываем колонтитул на последней странице с помощью выражений
При разработке договора было необходимо на каждой странице выводить подписи сторон, при этом на последней странице договора выводились реквизиты сторон и ответственных лиц, подписывающих договор.
Решил подписи сторон поместить в колонтитул, но в Word не нашел настройки, которые бы позволяли управлять отображением колонтитулов на последней странице, поэтому поступил следующим образом:
- Настроил форматирование нижнего колонтитула в виде таблицы без границ.
- Добавил вывод номера страницы – с этим все просто, т.к. номер страницы выводится на всех листах
- Для удаления горизонтальной черты под подпись и слов «Поставщик» и «Покупатель» на последней странице использовал выражения для описания вывода полей в MS Word. Пример:
- { IF { PAGE \* MERGEFORMAT } = { NUMPAGES \* MERGEFORMAT } "" "Поставщик" \* MERGEFORMAT } , т.е. если страница последняя, то "Поставщик" заменяем на "".
- На всякий случай:
- Переключаем режим отображения поля (значение поля/выражение) с помощью ALT+F9
- Вставляем поле с помощью CTRL+F9. Поле всегда обрамляется скобками: { и }
- Тут написано об управлении нумерацией страниц с помощью выражений: https://support.microsoft.com/en-us/kb/95886
Фиксируем ширину столбцов
Упоминал об этом выше, но повторюсь еще раз. Для корректного отображения таблиц в документе рекомендуем заранее описывать ширину столбцов в соответствии с образцом. Это может быть неудобно в некоторых случаях, например, когда вы выбрали ширину столбца под шестизначное число, а оно может быть восьмизначным, но позволяет соблюсти внешний вид документа.
Используем разрывы страниц внутри областей
Помним, для того, чтобы начать текст с новой страницы, необходимо разрыв страницы вставить внутри выводимых областей. Вставлять его между областями смысла не имеет))
Выравниваем рисунки в макете
Если в макете необходимо разместить рисунки, например, элементы фирменного стиля в строго определенных местах макета, то следует воспользоваться настройками выравнивания рисунка в Word. В моем случае потребовалось разместить изображение продукции в правом нижнем углу первого листа.
Вариант реализации:
- Вставить рисунок в макет Word
- Открыть в контекстном меню рисунка форму «Размер и положение»
- Обтекание текстом выбрать «Перед текстом»
- Установить настройки положения. Например: Горизонтальное выравнивание = по правому краю относительно поля, Вертикальное выравнивание = по нижнему краю относительно поля. Если требуется разместить рисунок ниже нижнего колонтитула, то придется задать положение ниже относительно поля.
Напоследок…
Если бы заранее знал, насколько трудоемко добиться четкого следования оформлению образца, то вместо 20 часов, запланированных на создание четырех форм, включая вникание в задачу, беседы с заказчиком, программирование и отладку, отвел бы часов 50.
А еще надо было до оценки работ подготовить макеты с параметрами и описать источники данных для параметров. Это помогло бы выявить неучтенные моменты:
- Источники данных для некоторых параметров отсутствовали в базе заказчика. Пришлось добавлять доп.реквизиты и согласовывать их с заказчиком.
- ФИО и должности надо склонять, а это может стать проблемой в некоторых конфигурациях.
- Документ, оформленный вручную, и документ, сгенерированный программно, – это не одно и тоже. Во втором случае могут понадобиться компромиссы в оформлении, которые хорошо бы согласовать предварительно.
PS. Предлагаю в комментариях поделиться опытом решения конкретных задач при настройке макетов в Word или кинуть ссылки на на эту тему, которые могут оказаться полезными при разработке.