Appendiks A: Understøttede HTML-tags

HTML-rendereren accepterer en afgrænset delmængde til formateret tekst, strukturerede blokke, tabeller og eksplicit tilknyttede billeder

Parametre

<p>, <br>Afsnit og faste linjeskift, herunder ældre attributter for afsnitsjustering og afstand
<h1> through <h6>Fede blokoverskrifter med faldende standardstørrelser
<div>, <section>, <article>, <header>, <footer>, <main>Blokbeholdere
<blockquote>Indhold i indrykket blok
<ul>, <ol>, <li>Indlejrede opstillinger med og uden nummerering
<b>, <strong>, <i>, <em>Fed og kursiv tekst
<sup>, <sub>, <u>Hævet skrift, sænket skrift, understregning, dobbelt understregning, gennemstregning og overstregning
<font>, <span>Ældre attributter for skrifttype, farve, baggrund, kontur, tekstgengivelsestilstand og afrundet baggrund
<a href="...">HTTP-, HTTPS- og filhyperlinks

CSS-kaskade

Regler kan forekomme i <style>-elementer eller indlejrede style-attributter

Selektorer understøtter tag, klasse, ID, tag.class og kombinationer af efterkommere adskilt af mellemrum; ikke-understøttede attributselektorer, pseudoselektorer og søskende- eller underordnelseskombinatorer ignoreres

Matchende erklæringer bruger CSS-specificitet og kilderækkefølge, inline-erklæringer har forrang, og !important respekteres inden for den understøttede delmængde

Understøttede egenskaber omfatter egenskaberne for tekst, baggrund, skrifttype, dekoration, justering, linjehøjde, margen, udfyldning, kant, bredde, højde, visning og lodret justering, som er angivet nedenfor, samt Flexbox-, Grid- og fodnoteegenskaberne i deres respektive afsnit

Længder accepterer punkter, pixels med 0,75 punkter pr. pixel, em-enheder, procentdele og enhedsløse punktværdier; skriftstørrelser accepterer også standardskalaen med nøgleord fra xx-small til xx-large

Flexbox

display:flex og display:inline-flex understøtter flex-direction, flex-wrap, flex, flex-grow, flex-shrink, flex-basis, justify-content, align-items, align-self, align-content, gap, row-gap og column-gap

Rækkecontainere fordeler positiv og negativ fri plads pr. flexlinje, ombrudte rækker måles uafhængigt, og kolonnecontainere fordeler en eksplicit eller indholdsafledt højde

CSS Grid

display:grid og display:inline-grid understøtter grid-template-columns, grid-template-rows, faste, procentvise og fr-spor, enkle repeat() og minmax(), grid-column, grid-row, start- og sluteegenskaber, spænd, mellemrum, automatisk placering efter række eller kolonne samt justering pr. element

Én container accepterer højst 256 direkte elementer og 64 rækker eller kolonner; indlejret indhold bruger den samme HTML-gengiver og layoutcache

Fodnoter

<footnote>, <aside style="float:footnote"> og <aside role="doc-footnote"> opretter nummererede noter

Endelige tekstbokse reserverer noteområdet nederst, før senere brødtekstlinjer layoutes; en reference og note, der ikke passer sammen, fortsætter i næste ramme, og fortsættelsestilstanden bevarer nummereringen

Tabeller

<table>, <tr>, <td> og <th> gengiver målte rækker med baggrunde, indvendige margener, kanter, teksttypografier og colspan op til 64 kolonner

Kolonner deler den eksplicitte tabelbredde eller den tilgængelige bredde ligeligt, overskriftsceller bruger som standard fed tekst med en lys baggrund, og en række fortsætter som en samlet enhed i den næste HTML-tekstboks

Indlejrede tabeller, rowspan, sammenfaldende kanter og automatisk indholdsstyret kolonnebredde indgår ikke i dette undersæt

Billeder

<img src="name"> tegner et billede, der tidligere er knyttet med SetHTMLImage

Rendereren understøtter bredde, højde, margen, udfyldning, kant, baggrund og venstre-, centreret eller højrejustering; én manglende dimension bevarer det naturlige højde-bredde-forhold, og udeladte dimensioner bruger 0,75 punkter pr. kildepixel

Billedkilder udløser aldrig netværks- eller filadgang, måling registrerer ikke ressourcer, og gentagen brug genbruger det bundne billed-XObject

Grænser og gendannelse

Ét HTML-input accepterer højst 2048 typografiarkregler, 256 bytes pr. selector, 4096 bytes pr. declarationsblok, 4096 tabelrækker og 4096 tabelceller

Ukendte egenskaber, vælgere, tags og attributter ignoreres, mens omgivende tekst bevares; tegnreferencer afkodes, og fejlformet indlejring lukkes forsigtigt

Eksempel

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;