Appendix A: Supported HTML tags
HTML визуализаторът приема ограничено подмножество за форматиран текст, структурирани блокове, таблици и изрично съпоставени изображения
Параметри
<p>, <br> | Абзаци и твърди нови редове, включително наследени атрибути за подравняване и разредка на абзаци |
|---|---|
<h1> through <h6> | Получерни заглавия на блокове с намаляващи размери по подразбиране |
<div>, <section>, <article>, <header>, <footer>, <main> | Блокови контейнери |
<blockquote> | Съдържание на блок с отстъп |
<ul>, <ol>, <li> | Вложени неподредени и подредени списъци |
<b>, <strong>, <i>, <em> | Удебелен и курсивен текст |
<sup>, <sub>, <u> | Горен индекс, долен индекс, подчертаване, двойно подчертаване, зачертаване и надчертаване |
<font>, <span> | Наследени атрибути за шрифт, цвят, фон, контур, режим на рендиране на текста и заоблен фон |
<a href="..."> | Хипервръзки HTTP, HTTPS и файлови хипервръзки |
CSS каскада
Правилата могат да се появяват в елементи <style> или във вградени атрибути style
Селекторите поддържат комбинации от етикет, клас, ID, tag.class и потомци, разделени с интервали; неподдържаните селектори за атрибути, псевдоселектори и комбинатори за съседни или дъщерни елементи се игнорират
Съвпадащите декларации използват CSS специфичност и ред на източника, вградените декларации са с приоритет, а !important се зачита в поддържаното подмножество
Поддържаните свойства включват изброените по-долу свойства за текст, фон, шрифт, украса, подравняване, line-height, поле, вътрешно поле, граница, ширина, височина, display и vertical-alignment, както и свойствата Flexbox, Grid и бележки под линия в съответните им раздели
Дължините приемат точки, пиксели при 0,75 точки на пиксел, em единици, проценти и стойности в точки без единица; размерите на шрифта приемат и стандартната скала от ключови думи от xx-small до xx-large
Flexbox
display:flex и display:inline-flex поддържат flex-direction, flex-wrap, flex, flex-grow, flex-shrink, flex-basis, justify-content, align-items, align-self, align-content, gap, row-gap и column-gap
Контейнерите за редове разпределят положителното и отрицателното свободно пространство по всеки flex ред, пренесените редове се измерват независимо, а контейнерите за колони разпределят изрично зададена или получена от съдържанието височина
CSS Grid
display:grid и display:inline-grid поддържат grid-template-columns, grid-template-rows, фиксирани и процентни писти и писти fr, прости repeat() и minmax(), grid-column, grid-row, свойства за начало и край, обхвати, разстояния, автоматично разполагане по ред или колона и подравняване за всеки елемент
Един контейнер приема най-много 256 преки елемента и 64 реда или колони; вложеното съдържание използва същия HTML визуализатор и кеш за оформление
Бележки под линия
<footnote>, <aside style="float:footnote"> и <aside role="doc-footnote"> създават номерирани бележки
Крайните текстови полета запазват областта за бележка отдолу преди оформянето на следващите основни редове; препратка и бележка, които не се побират заедно, продължават в следващата рамка, а състоянието на продължение запазва номерацията
Таблици
<table>, <tr>, <td> и <th> рендират измерени редове с фонове, отстъпи, рамки, стилове на текста и colspan до 64 колони
Колоните разделят поравно изрично зададената или наличната ширина на таблицата, клетките на заглавката по подразбиране са с удебелен текст и светъл фон, а редът продължава като една атомарна единица в следващото HTML текстово поле
Вложени таблици, rowspan, сливане на рамки и автоматично оразмеряване на колони според съдържанието не са част от това подмножество
Изображения
<img src="name"> изчертава изображение, предварително свързано с SetHTMLImage
Рендериращият механизъм поддържа ширина, височина, поле, вътрешно отстояние, рамка, фон и подравняване вляво, центрирано или вдясно; един липсващ размер запазва естественото съотношение на страните, а пропуснатите размери използват 0.75 точки на пиксел от източника
Източниците на изображения никога не задействат достъп до мрежа или файл, измерването не регистрира ресурси, а повторната употреба използва повторно свързания XObject на изображението
Граници и възстановяване
Един HTML вход приема най-много 2048 правила за стилови таблици, 256 байта за селектор, 4096 байта за блок с декларации, 4096 реда на таблица и 4096 клетки на таблица
Непознатите свойства, селектори, етикети и атрибути се игнорират, докато околният текст се запазва; символните препратки се декодират, а неправилното влагане се затваря предпазливо
Пример
var
LogoID: Integer;
begin
LogoID := PDF.AddImageFromFile('logo.png');
PDF.SetHTMLImage('brand-logo', LogoID);
PDF.DrawHTMLTextBox(50, 750, 420, 180,
'<style>.report h2 { color:#204080; } table { border:1pt solid #808080; }</style>' +
'<section class="report"><h2>Quarterly report</h2>' +
'<img src="brand-logo" width="72pt">' +
'<table><tr><th>Region</th><th>Total</th></tr>' +
'<tr><td>North</td><td>125</td></tr></table></section>');
end;