Форматирование текста в шаблонах журналов и протоколов.

Возможность вывода информации, внесенной в LIMS myLab в виде протоколов, отчетов и журналов, реализовано с помощью настройки шаблонов в генераторе отчетов FastReport.

Пустой шаблон имеет вид пустого листа бумаги. На любое место листа можно поместить объекты, которые могут отображать разную информацию (текст, графика) и формировать внешний вид шаблона. Популярным объектом, используемым для оформления шаблонов, является «Текст».

Так выглядит пример размещения данного объекта в протоколе.

Что выполнить форматирование текста внутри данного объекта, как правило используются элементы верхней панели.

Форматирование с помощью HTML-тегов

Помимо общего форматирования, объект «Текст» поддерживает форматирование с помощью HTML-тегов. Их перечень представлен ниже:

<b> - жирный текст
<i> - наклонный текст
<u> - подчеркнутый текст
<strike> - зачеркнутый текст
<sub> - подстрочный текст
<sup> - надстрочный текст
<font color> - цвет шрифта
<img> - вставляет изображение в текст. Тег img поддерживает только атрибут src (http, https, base64), а также атрибуты ширины и высоты (значения в пикселях). Таким образом, вы можете вставлять изображения непосредственно в текст. Источники изображений http и https имеют отношение к веб-отчетам.

Для того что бы включить данную функцию (по умолчанию она выключена), необходимо выделить объект и в свойствах (панель справа) найти «поведение» TextRenderType.

Как мы видим, по умолчанию он выключен (Default). Два других параметра позволяют:

1. HtmlTags включает применение html-тегов.

2. HtmlParagraph позволяет регулировать межстрочный интервал, отступ первой строки и все те же теги, что и HtmlTags. Этот режим включает новый html-визуализатор. Добавляется новый тег span. Несмотря на то, что набор тегов для этого режима практически одинаков, они рисуются по-разному с HtmlTags. Это особенно заметно по тегам <sub> и <sup>.

Добавленный тег span позволяет задать стиль отображения текста. Вы можете указать самые простые стили CSS в атрибуте style.

Пример.

<span style="font-size:25pt;">Протокол испытаний</span>
<span style="color:green;">Протокол </span>испытаний
<span style="font-family:Arial;">Протокол испытаний</span>
<span style="background-color:red;">Протокол испытаний</span>

Результат

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

  • FirstLineIndent — отступ первой строки;
  • LineSpacing — расстояние между линиями в сантиметрах;
  • LineSpacingMultiple — умножитель на предыдущее значение параметра. Работает с несколькими типами;
  • Line spacing – тип отступа.

Подводя итог, текстовый объект превращается в полную замену объекта RichText, что позволяет загружать отформатированные Rtf-документы. Для оформления теста в шаблонах рекомендуем применять метод, описанный в статье, и отказаться от использования объекта RichText. Так как при использовании объекта RichText могут возникать артефакты и некорректное отображение теста при выводе на печать или при переводе документов в другие офисные форматы.

Использованные источники.
Dmitriy Fedyashov. How to use the new TextObject.TextRenderType property. — 2018