Поддержка HTML тегов в тексте
Ранее в FastReport в объекте "Текст" была доступна возможность использования некоторых простейших тегов HTML с помощью свойства HtmlTags
. Однако, свойство HtmlTags
было заменено новым свойством TextRenderType
. Новое свойство предоставляет более широкий спектр функциональности, чем просто обработка HTML тегов.
Свойство TextRenderType
имеет три возможных значения:
- Default - просто текст, без преобразования тегов;
- HtmlTags - применение HTML тегов. Список их довольно ограничен:
<b>
,<i>
,<u>
,<strike>
,<br>
,<sub>
,<sup>
,<img>
; - HtmlParagraph - позволяет регулировать межстрочный интервал, красную строку и все те же теги, что и HtmlTags;
- Inline - отображает текст в простом формате. Только для внутреннего использования - не рекомендуется для внешнего использования.
Одним из тегов, доступных в предыдущем свойстве HtmlTags
, был тег <font>
. Этот тег сегодня считается устаревшим, и его поддержка не гарантирована во всех браузерах. В связи с этим был внедрен новый механизм визуализации, позволяющий применять определенные стили CSS с использованием атрибута style
для тега <span>
.
Более детально рассмотрим режимы обработки тегов HTML:
HtmlTags
Как ранее уже было сказано, объект "Текст" поддерживает следующие HTML теги:
<b>
- выделение текста жирным начертанием
Пример использования:
<b>FastReport</b>
Результат:
<i>
- курсивное начертание текста
Пример использования:
<i>FastReport</i>
Результат:
<u>
- подчеркивание текста снизу
Пример использования:
<u>FastReport</u>
Результат:
<strike>
- перечеркнутый текст
Пример использования:
<strike>FastReport</strike>
Результат:
<br>
- перенос строки
Пример использования:
Fast<br>Report
Результат:
<sub>
- отображение текста в нижнем индексе
Пример использования:
Fast<sub>Report</sub>
Результат:
<sup>
- отображение текста в верхнем индексе
Пример использования:
Fast<sup>Report</sup>
Результат:
<img>
- вставка изображения в текстТег
<img>
поддерживает только атрибутsrc
, который может содержать ссылку на изображение (http, https, base64), а также атрибутыwidth
иheight
, определяющие размеры изображения в пикселях. Таким образом, изображения могут быть вставлены непосредственно в текст. Ссылки на изображения с протоколами http и https применимы для веб-отчетов.
Пример использования:
<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAAyCAIAAACPlC9VAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGkSURBVGhD7dDRjoMgEAXQ/v9Pd417poEVBBRttul569yRuenjOc+jxd5pEx7SaIQvjzr+vfvneGvQkc8cnMe73cY+cOQabnQYWe1gtcTGLqst3Xu7LHXzWYmNXX1LFeKjvLIhruvYKJHN4MWcrKIVl8jm8W5OVrKblchm83pOtlEPSmTXcCMnyw2UFlzJpYQgV5luCK7nXkKQ6CptehdXg2miNNoQ3MXVhCC0S5vey+1gGja/NwT3cjshWDVKm76DBsF09S09lQYJwZ/SwmD6PnoE02/p+fQIpt/S8+kRTL+l59MjmH5C6YU8mL6DBgnBPyptuvrE0gvBvdxOCFaFTraC6b3cDqahXXohuIurCUEoF7IbTO/iakIQukovBNdzLyFIVNv4IiG4kksJQW6g9EJ2DTdystxeD9/lZLN5PSfbaJTwdU42j3dzspJ2A2/kZDN4MSer6DrvpQ3xUV4psVHRe9hjJTZG+LLExq6Bk17dZbXExi6rLWP/k7ev4UaHsdK/HJnHu92OlP7l4DneGnS89Iv7g3x8yITSL+rU2Tvp+fwB+FeG5yXqCcoAAAAASUVORK5CYII=" alt=""/>
Результат:
HtmlParagraph
Этот режим включает новый обработчик HTML тегов. Он обрабатывает тот же набор тегов, что и HtmlTags
, а также включает тег <span>
. Несмотря на то, что набор тегов у этого режима почти тот же, отрисовываются они иначе. Особенно это заметно на тегах <sub>
и <sup>
.
Тег <span>
предоставляет возможность задавать стили для текста с использованием атрибута style
. Это позволяет применять различные CSS стили, такие как цвет текста, размер шрифта, выравнивание и другие параметры форматирования, непосредственно к определенному фрагменту текста. Таким образом, вместо использования устаревшего тега <font>
, который ограничивает функциональность и уступает в гибкости, теперь можно достигать того же эффекта, используя тег <span>
с простейшими CSS стилями в атрибуте style
.
Примеры использования:
<span style="font-size:20pt;">FastReport</span>
<span style="color:red;">Fast</span>Report
<span style="font-family:Consolas;">FastReport</span>
<span style="background-color:yellow;">FastReport</span>
Результат:
ParagraphFormat
Отдельно стоит рассмотреть свойство ParagraphFormat
. Оно работает в связке со свойством HtmlParagraph
и представляет собой настройки для отображения абзацев (межстрочный интервал, отступ красной строки). А именно:
- FirstLineIndent - отступ первой строки;
- LineSpacing - расстояние между строками в сантиметрах;
- LineSpacingMultiple - коэффициент умножения на значение предыдущего параметра. Работает с типом Multiple;
- LineSpacingType - тип межстрочного расстояния:
- Одиночный (Single);
- Как минимум (At least);
- В точности (Exact);
- Множественный (Multiple).
Пример настроек:
Результат: