Appendix A: Supported HTML tags

A HTML-renderelő a formázott szöveg, strukturált blokkok, táblázatok és kifejezetten leképezett képek korlátozott részhalmazát fogadja el

Paraméterek

<p>, <br>Bekezdések és kemény sortörések, beleértve a régi bekezdésigazítási és térköz-attribútumokat
<h1> through <h6>Félköv blokkcímek csökkenő alapértelmezett méretekkel
<div>, <section>, <article>, <header>, <footer>, <main>Blokktárolók
<blockquote>Behúzott blokk tartalma
<ul>, <ol>, <li>Egymásba ágyazott rendezetlen és rendezett listák
<b>, <strong>, <i>, <em>Félköv és dőlt szöveg
<sup>, <sub>, <u>Felső index, alsó index, aláhúzás, dupla aláhúzás, áthúzás és felülvonás
<font>, <span>Örökölt betűtípus-, szín-, háttér-, körvonal-, szövegmegjelenítési mód- és lekerekített háttérattribútumok
<a href="...">HTTP-, HTTPS- és fájlhiperhivatkozások

CSS-kaszkád

A szabályok <style> elemekben vagy beágyazott style attribútumokban jelenhetnek meg

A választók támogatják a címke-, osztály-, ID-, tag.class és szóközzel elválasztott leszármazott kombinációkat; a nem támogatott attribútumválasztók, pszeudoválasztók, valamint testvér- vagy gyermek-kombinátorok figyelmen kívül maradnak

Az egyező deklarációk CSS-specifikusságot és forrássorrendet használnak, a beágyazott deklarációk elsőbbséget élveznek, és a támogatott részhalmazon belül a !important figyelembe van véve

A támogatott tulajdonságok közé tartoznak az alább felsorolt text, background, font, decoration, alignment, line-height, margin, padding, border, width, height, display és vertical-alignment tulajdonságok, továbbá a saját szakaszaikban szereplő Flexbox, Grid és footnote tulajdonságok

A hosszok pontban, képpontonként 0,75 pontos képpontértékben, em-egységben, százalékban és egység nélküli pontértékben adhatók meg; a betűméretek a xx-small és xx-large közötti szabványos kulcsszavas skálát is elfogadják

Flexbox

A display:flex és a display:inline-flex támogatja a flex-direction, flex-wrap, flex, flex-grow, flex-shrink, flex-basis, justify-content, align-items, align-self, align-content, gap, row-gap és column-gap tulajdonságot

A sortárolók flex soronként osztják el a pozitív és negatív szabad helyet, a tördelt sorok mérése egymástól független, az oszloptárolók pedig explicit vagy a tartalomból származtatott magasságot osztanak el

CSS-rács

A display:grid és a display:inline-grid támogatja a grid-template-columns, grid-template-rows, rögzített, százalékos és fr sávokat, az egyszerű repeat() és minmax() függvényeket, a grid-column, grid-row, kezdő és záró tulajdonságokat, átfogásokat, réseket, sor- vagy oszlopautomatikus elhelyezést és az elemenkénti igazítást

Egy tároló legfeljebb 256 közvetlen elemet és 64 sort vagy oszlopot fogad; a beágyazott tartalom ugyanazt a HTML-megjelenítőt és elrendezési gyorsítótárat használja

Lábjegyzetek

A <footnote>, <aside style="float:footnote"> és <aside role="doc-footnote"> számozott megjegyzéseket hoz létre

A véges szövegdobozok az alsó jegyzetterületet a későbbi törzssorok elrendezése előtt foglalják le; az együtt el nem férő hivatkozás és jegyzet a következő keretben folytatódik, a folytatási állapot pedig megőrzi a számozást

Táblázatok

A <table>, <tr>, <td> és <th> mért sorokat jelenít meg háttérrel, belső margóval, szegélyekkel, szövegstílusokkal és legfeljebb 64 oszlopig terjedő colspan értékkel

Az oszlopok egyenlően osztják fel az explicit táblázatszélességet vagy a rendelkezésre álló szélességet, a fejléc cellái alapértelmezésben félkövér szöveget és világos hátteret kapnak, és egy sor egyetlen atomi egységként folytatódik a következő HTML-szövegdobozban

A beágyazott táblázatok, a rowspan, a szegély-összevonás és az automatikus, tartalomvezérelt oszlopszélesség-meghatározás nem része ennek a részhalmaznak

Képek

<img src="name"> egy korábban a SetHTMLImage függvénnyel társított képet rajzol

A megjelenítő támogatja a szélességet, magasságot, margót, belső margót, szegélyt, hátteret és a balra, középre vagy jobbra igazítást; egy hiányzó méret megőrzi a természetes képarányt, a meg nem adott méretek pedig forráspixelenként 0,75 pontot használnak

A képforrások sosem indítanak hálózati vagy fájlelérést, a mérés nem regisztrál erőforrásokat, az ismételt használat pedig a kötött image XObject objektumot használja újra

Határok és helyreállítás

Egy HTML-bemenet legfeljebb 2048 stíluslap-szabályt, szelektoronként 256 bájtot, deklarációblokkonként 4096 bájtot, 4096 táblázatsort és 4096 táblázatcellát fogad el

Az ismeretlen tulajdonságok, választók, címkék és attribútumok figyelmen kívül maradnak, miközben a környező szöveg megőrződik; a karakterhivatkozások dekódolódnak, a hibás beágyazás pedig óvatosan lezárul

Példa

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;