Перенос строки

Рассмотрим подробнее как работает способ вывода областей для печати “Перенос строки”.

Данный способ вывода предназначен для организации печати длинного текста, в фиксированную область с заданным составом строк. Программа автоматически рассчитывает максимальную вместимость символов и выполняет перенос на следующую строку.

Например, необходимо выполнить печать подобной строки:


Пример печатной формы с предопределенной частью области

Особенность данного макета в том, что первая и вторая строка текста имееют подписи (начало подписи первой строки, продолжение длинного текста подписи). Рассмотрим компоновку макета табличного документа для реализации подобной печатной формы:


Настройка печати области с переносом строки

Подробно рассмотрим области макета:

Имя областиОписание
ОсноваОбласть с фиксированными строками, которые обязательно должны быть в печатной форме
ПовторОбласть для вывода дополнительных строк, которые не вместились в основную часть
ПустаяСтрокаОбласть с пустой строкой, для подстановки после вывода последней строки
КонтрольОбласть с контрольным количеством символов в строке

В области “Основа” по задаче находятся две строки, которые обязательно будут в печатной форме, независимо от длины текста для заполнения. Имена параметров в области: Значение1 и Значение2. Базовая часть имени параметра “Значение”, а индекс 1 и 2 - это порядковый номер в области. Количество параметров с индексами должно соответствовать количеству “предопределенных” строк в фиксированной области.

Имя параметра должно строится по принципу: [ИмяПараметра][Индекс], где ИмяПараметра - это базовая часть имени (без индекса), Индекс - порядковый номер фиксированной строки.

Для обеспечения печати строк остатка строки, не вмещающейся в основную область необходимо добавить область с повторяемой строкой. В приведенном примере это область “Повтор”. Данная область должна иметь параметр “ЗначениеСтроки”. Данная область будет повторяться при выводе, пока все строковое значение не будет выведено в печатную форму.

Если по окончанию печати основной области и переноса, необходимо добавить область с пустой строкой, тогда необходимо в макете создать область “ПустаяСтрока”. Имя области предопределенное. Область не является обязательной.

Кроме того, поскольку программе надо рассчитывать количество символов, которые могут уместиться в строке, необходимо создать область с контрольной строкой. В примере данная область называется “Контроль”. Данную строку необходимо заполнить символом “А” (шрифт Times New Roman, 11, рекомендуется курсив). Из-за особенностей расчета ширины, рекомендуется задавать немного бОльшее количество символов, чем вмещается в строку. Примерно на 10%. Но вообще, количество символов можно подобрать при тестировании печатной формы.

Также можно реализовать механизм, при котором первая строка печати будет по длине отличаться от повторяемых строк. Например:


Настройка печати области с переносом строки (вариант 2)

Результат печати при этом будет следующий:


Пример печатной формы с предопределенной частью области (вариант 2)

Ключевым отличием является наличие 2-х контрольных строк. Первая контрольная строка отвечает за расчет вместимости основной области, вторая контрольная строка за последующие строки.

Подведем итоги

Для печати областей с фиксированным количеством строк и автоматическим переносом на новые строки, необходимо:

  • добавить основную область с фиксированными строками (Способ вывода = Перенос строки)
  • задать имя параметра “[ИмяПараметра][Индекс]”, при этом количество параметров должно равняться количеству строк в основной области
  • добавить область для печати части строки, не входящей в основную область (Способ вывода = Строка переноса)
  • задать имя параметра в области переноса “ЗначениеСтроки
  • добавить контрольную строку для основной области (Способ вывода = Контрольная строка)
  • если длина строк в основной части и повторяемой отличается создать дополнительную контрольную строку для строки переноса (Способ вывода = Контрольная строка)
  • при необходимости добавить область с пустой строкой
  • выполнить настройку переноса основной области
    • активизировать строку основной области в таблице
    • задать значение в поле “Параметр”, выбрав имя параметра [ИмяПараметра]
    • задать значение в поле “Контроль 1”, выбрав область макета для расчета длины строки основной области
    • задать значение в поле “Область печати”, указав область макета для повторяемой части печати
    • (при необходимости) задать значение в поле “Контроль 2”, выбрав область макета для расчета длины строки повторяемой области (области печати)

ВАЖНО

При использовании областей с переносом, строки с данными областями должны иметь шрифт “Times New Roman, 11pt”. Для других размеров и шрифтов расчет может быть не точным и длину контрольной строки придется подбирать вручную.