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;