Appendix A: Supported HTML tags
Le moteur de rendu HTML accepte un sous-ensemble borné pour le texte enrichi, les blocs structurés, les tableaux et les images explicitement associées
Paramètres
<p>, <br> | Paragraphes et sauts de ligne forcés, y compris les attributs hérités d'alignement et d'espacement des paragraphes |
|---|---|
<h1> through <h6> | Titres de bloc en gras avec des tailles par défaut décroissantes |
<div>, <section>, <article>, <header>, <footer>, <main> | Conteneurs de blocs |
<blockquote> | Contenu de bloc en retrait |
<ul>, <ol>, <li> | Listes non ordonnées et ordonnées imbriquées |
<b>, <strong>, <i>, <em> | Texte gras et italique |
<sup>, <sub>, <u> | Exposant, indice, soulignement, double soulignement, barré et surlignement |
<font>, <span> | Attributs hérités de police, de couleur, d'arrière-plan, de contour, de mode de rendu du texte et d'arrière-plan arrondi |
<a href="..."> | Liens hypertexte HTTP, HTTPS et de fichiers |
Cascade CSS
Les règles peuvent apparaître dans des éléments <style> ou des attributs style en ligne
Les sélecteurs acceptent balise, classe, ID, tag.class et combinaisons descendantes par espace ; les sélecteurs d'attribut, pseudo-sélecteurs et combinateurs frère ou enfant non pris en charge sont ignorés
Les déclarations correspondantes utilisent la spécificité CSS et l'ordre source, les déclarations incorporées ont priorité et !important est respecté dans le sous-ensemble pris en charge
Les propriétés prises en charge comprennent celles de texte, arrière-plan, police, décoration, alignement, hauteur de ligne, marge, marge intérieure, bordure, largeur, hauteur, affichage et alignement vertical énumérées ci-dessous, ainsi que les propriétés Flexbox, Grid et de notes de bas de page dans leurs sections respectives
Les longueurs acceptent les points, les pixels à raison de 0,75 point par pixel, les unités em, les pourcentages et les valeurs sans unité exprimées en points ; les tailles de police acceptent également l’échelle de mots-clés standard de xx-small à xx-large
Flexbox
display:flex et display:inline-flex prennent en charge flex-direction, flex-wrap, flex, flex-grow, flex-shrink, flex-basis, justify-content, align-items, align-self, align-content, gap, row-gap et column-gap
Les conteneurs de lignes répartissent l'espace libre positif ou négatif par ligne flex, mesurent indépendamment les lignes renvoyées et les colonnes répartissent une hauteur explicite ou dérivée du contenu
Grille CSS
display:grid et display:inline-grid prennent en charge grid-template-columns, grid-template-rows, les pistes fixes, en pourcentage et fr, repeat() et minmax() simples, grid-column, grid-row, propriétés de début et fin, étendues, espaces, placement automatique par ligne ou colonne et alignement par élément
Un conteneur accepte au maximum 256 éléments directs et 64 lignes ou colonnes ; le contenu imbriqué utilise le même moteur de rendu HTML et le même cache de disposition
Notes de bas de page
<footnote>, <aside style="float:footnote"> et <aside role="doc-footnote"> créent des notes numérotées
Les zones de texte finies réservent l’espace des notes au bas avant de mettre en page les lignes de corps suivantes ; une référence et sa note qui ne tiennent pas ensemble passent au cadre suivant, et l’état de continuation conserve la numérotation
Tableaux
<table>, <tr>, <td> et <th> restituent des lignes mesurées avec arrière-plans, marges intérieures, bordures, styles de texte et colspan, jusqu’à 64 colonnes
Les colonnes divisent également la largeur explicite ou disponible, les cellules d'en-tête sont en gras sur fond clair et une ligne continue comme unité atomique dans la prochaine boîte HTML
Les tableaux imbriqués, rowspan, la fusion des bordures et le dimensionnement automatique des colonnes selon le contenu ne font pas partie de ce sous-ensemble
Images
<img src="name"> dessine une image précédemment liée avec SetHTMLImage
Le moteur de rendu prend en charge largeur, hauteur, marge, marge intérieure, bordure, arrière-plan et alignement à gauche, au centre ou à droite ; une dimension manquante préserve les proportions naturelles et des dimensions omises utilisent 0,75 point par pixel source
Les sources d'image ne déclenchent jamais d'accès réseau ou fichier, la mesure n'enregistre pas de ressources et les utilisations répétées réutilisent l'Image XObject lié
Limites et récupération
Une entrée HTML accepte au maximum 2048 règles de feuille de style, 256 octets par sélecteur, 4096 octets par bloc de déclaration, 4096 lignes et 4096 cellules de tableau
Les propriétés, sélecteurs, balises et attributs inconnus sont ignorés en préservant le texte ; les références de caractères sont décodées et les imbrications mal formées fermées prudemment
Exemple
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;