Appendix A: Supported HTML tags

Izrisovalnik HTML sprejme omejeno podmnožico za bogato besedilo, strukturirane bloke, tabele in izrecno preslikane slike

Parametri

<p>, <br>odstavki in trdi prelomi vrstic, vključno z zastarelimi atributi poravnave in razmikov odstavkov
<h1> through <h6>krepki naslovi blokov s padajočimi privzetimi velikostmi
<div>, <section>, <article>, <header>, <footer>, <main>blokovni vsebniki
<blockquote>zamaknjena vsebina blokov
<ul>, <ol>, <li>gnezdni neštevilčeni in številčeni seznami
<b>, <strong>, <i>, <em>krepko in ležeče besedilo
<sup>, <sub>, <u>nadvpisano, podpisano, podčrtano, dvojno podčrtano, prečrtano in prečrtano nad vrstico
<font>, <span>Podedovani atributi pisave, barve, ozadja, orisa, načina upodabljanja besedila in zaobljenega ozadja
<a href="...">hiperpovezave HTTP, HTTPS in datotečne

CSS kaskada

Pravila so lahko v elementih <style> ali v vrstičnih atributih style

Izbirniki podpirajo kombinacije tag, class, ID, tag.class in potomcev presledka; nepodprti izbirniki atributov, psevdo izbirniki in kombinatorske sestre ali podrejenci se ignorirajo

Ujemajoče napovedi uporabljajo specifičnost CSS in vrstni red vira, vgrajene napovedi imajo prednost, !important pa se spoštuje znotraj podprte podmnožice

Podprte lastnosti vključujejo lastnosti besedila, ozadja, pisave, okrasitve, poravnave, višine vrstice, roba, blazinjenja, robov, širine, višine, prikaza in navpične poravnave, naštete spodaj, plus lastnosti Flexbox, Grid in sprotnih opomb v njihovih ustreznih razdelkih

Dolžine sprejemajo točke, slikovne točke pri 0,75 točke na slikovno točko, enote em, odstotke in vrednosti točk brez enot; velikosti pisav sprejemajo tudi standardno lestvico ključnih besed od xx-small do xx-large

Flexbox

display:flex in display:inline-flex podpirata flex-direction, flex-wrap, flex, flex-grow, flex-shrink, flex-basis, justify-content, align-items, align-self, align-content, gap, row-gap in column-gap

Vrstični vsebniki razporedijo pozitiven in negativen prosti prostor na flex vrstico, prelomljene vrstice se merijo neodvisno, stolpčni vsebniki pa razporedijo izrecno ali iz vsebine izpeljano višino

CSS Grid

display:grid in display:inline-grid podpirata grid-template-columns, grid-template-rows, fiksne, odstotne in fr proge, preprost repeat() in minmax(), grid-column, grid-row, lastnosti start in end, razpone, razmike, samodejno postavitev po vrsticah ali stolpcih in poravnavo na element

En vsebnik sprejme največ 256 neposrednih elementov in 64 vrstic ali stolpcev; gnezdena vsebina uporablja isti izrisovalnik HTML in predpomnilnik postavitve

Sprotne opombe

<footnote>, <aside style="float:footnote"> in <aside role="doc-footnote"> ustvarjajo številčene opombe

Končni besedilni okvirji območje opombe rezervirajo na dnu, preden postavijo kasnejše vrstice telesa; sklic in opomba, ki skupaj ne prilegata, se nadaljujeta v naslednji okvir, stanje nadaljevanja pa ohrani številčenje

Tabele

<table>, <tr>, <td> in <th> upodobijo izmerjene vrstice z ozadji, oblazinjenjem, robovi, besedilnimi slogi in colspan do 64 stolpcev

Stolpci enakomerno delijo izrecno širino tabele ali razpoložljivo širino, celice glave so privzeto krepko besedilo s svetlim ozadjem, vrstica pa se v naslednjem besedilnem okvirju HTML nadaljuje kot ena atomska enota

Gnezdene tabele, rowspan, strnjevanje robov in samodejno določanje širine stolpcev na osnovi vsebine niso del te podmnožice

Slike

<img src="name"> izriše sliko, prej povezano s SetHTMLImage

Izrisovalnik podpira širino, višino, rob, blazinjenje, robove, ozadje ter poravnavo levo, sredinsko ali desno; ena manjkajoča mera ohrani naravno razmerje stranic, izpuščeni meri pa uporabita 0,75 točke na izvorno piko

Slikovni viri nikoli ne sprožijo omrežnega ali datotečnega dostopa, merjenje ne registrira virov, ponovljena uporaba pa ponovno uporabi vezani slikovni XObject

Meje in obnovitev

En vnos HTML sprejme največ 2048 pravil stilov, 256 bajtov na izbirnik, 4096 bajtov na blok deklaracij, 4096 vrstic tabel in 4096 celic tabel

Neznane lastnosti, izbirniki, oznake in atributi se ignorirajo, medtem ko se okoliško besedilo ohrani; znakovne reference se dekodirajo in nepravilno gnezdenje se previdno zapre

Primer

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;