Appendix A: Supported HTML tags

HTML-renderaren accepterar en avgränsad delmängd för rich text, strukturerade block, tabeller och explicit mappade bilder

Parametrar

<p>, <br>Stycken och hårda radbrytningar, inklusive äldre styckejusterings- och mellanrumsattribut
<h1> through <h6>Feta blockrubriker med fallande standardstorlekar
<div>, <section>, <article>, <header>, <footer>, <main>Block containers
<blockquote>Indented block content
<ul>, <ol>, <li>Kapslade oordnade och ordnade listor
<b>, <strong>, <i>, <em>Bold and italic text
<sup>, <sub>, <u>Upphöjt, nedsänkt, understrykning, dubbel understrykning, genomstrykning och överlinje
<font>, <span>Äldre attribut för teckensnitt, färg, bakgrund, kontur, textrenderingsläge och rundad bakgrund
<a href="...">HTTP-, HTTPS- och filhyperlänkar

CSS-kaskad

Rules may appear in <style> elements or inline style attributes

Selektorer stödjer tagg, klass, ID, tag.class och mellanslagsseparerade ättlingskombinationer; attributselektorer, pseudoselektorer och syskon-/barnkombinatorer som inte stöds ignoreras

Matchande deklarationer använder CSS-specificitet och källordning, inline-deklarationer går före, och !important hedras inom den stödda delmängden

Stödda egenskaper omfattar egenskaperna för text, bakgrund, typsnitt, utsmyckning, justering, radhöjd, marginal, utfyllnad, ram, bredd, höjd, display och vertikal justering som listas nedan, plus Flexbox-, Grid- och fotnotsegenskaperna i sina respektive avsnitt

Längder tar emot punkter, pixlar vid 0.75 punkter per pixel, em-enheter, procenttal och enhetslösa punktvärden; textstorlekar tar också emot standardskalans nyckelord från xx-small till xx-large

Flexbox

display:flex och display:inline-flex stödjer flex-direction, flex-wrap, flex, flex-grow, flex-shrink, flex-basis, justify-content, align-items, align-self, align-content, gap, row-gap och column-gap

Radcontainers fördelar positivt och negativt ledigt utrymme per flexrad, lindade rader mäts oberoende, och kolumncontainers fördelar en explicit eller innehållshärdad höjd

CSS Grid

display:grid och display:inline-grid stödjer grid-template-columns, grid-template-rows, fasta, procentuella och fr-spår, enkel repeat() och minmax(), grid-column, grid-row, start- och slutegenskaper, spans, gaps, rad- eller kolumnautop placering och per-post justering

En container tar emot högst 256 direkta poster och 64 rader eller kolumner; nästlat innehåll använder samma HTML-renderare och layoutcache

Fotnoter

<footnote>, <aside style="float:footnote"> och <aside role="doc-footnote"> skapar numrerade noter

Ändliga textrutor reserverar notområdet i botten innan senare brödtexter layas ut; en referens och not som inte ryms tillsammans fortsätter till nästa ram, och fortsättningstillståndet bevarar numreringen

Tabeller

<table>, <tr>, <td> och <th> renderar uppmätta rader med bakgrunder, utfyllnad, ramar, textstilar och colspan upp till 64 kolumner

Kolumner delar den explicita tabellbredden eller tillgängliga bredden lika, rubrikceller får som standard fet text med ljus bakgrund, och en rad fortsätter som en atomär enhet i nästa HTML-textruta

Nästlade tabeller, rowspan, ramsammanslagning och automatisk innehållsdriven kolumnbredd ingår inte i denna delmängd

Bilder

<img src="name"> ritar en bild som bundits tidigare med SetHTMLImage

Renderaren stödjer bredd, höjd, marginal, utfyllnad, ram, bakgrund samt vänster-, center- eller högerjustering; en saknad dimension bevarar det naturliga sidförhållandet, och utelämnade dimensioner använder 0.75 punkter per källpixel

Bildkällor utlöser aldrig nätverks- eller filåtkomst, mätning registrerar inga resurser, och upprepad användning återanvänder den bundna image XObject

Gränser och återhämtning

En HTML-indata tar emot högst 2048 stilmallregler, 256 byte per selektor, 4096 byte per deklarationsblock, 4096 tabellrader och 4096 tabellceller

Okända egenskaper, selektorer, taggar och attribut ignoreras medan omgivande text bevaras; teckenreferenser avkodas och felformad nästling stängs konservativt

Exempel

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;