Appendix A: Supported HTML tags
El representador HTML acepta un subconjunto limitado para texto enriquecido, bloques estructurados, tablas e imágenes asignadas explícitamente
Parámetros
<p>, <br> | Párrafos y saltos de línea forzados, incluidos atributos heredados de alineación y espaciado de párrafos |
|---|---|
<h1> through <h6> | Encabezados de bloque en negrita con tamaños predeterminados decrecientes |
<div>, <section>, <article>, <header>, <footer>, <main> | Contenedores de bloque |
<blockquote> | Contenido de bloque con sangría |
<ul>, <ol>, <li> | Listas anidadas sin orden y ordenadas |
<b>, <strong>, <i>, <em> | Texto en negrita y cursiva |
<sup>, <sub>, <u> | Superíndice, subíndice, subrayado, subrayado doble, tachado y sobremarcado |
<font>, <span> | Atributos heredados de fuente, color, fondo, esquema, modo de representación de texto y fondo redondeado |
<a href="..."> | Hipervínculos HTTP, HTTPS y de archivo |
Cascada CSS
Las reglas pueden aparecer en elementos <style> o atributos style en línea
Los selectores admiten etiqueta, clase, ID, tag.class y combinaciones de descendientes separadas por espacios; se ignoran los selectores de atributo, pseudoselectores y combinadores de hermanos o hijos no compatibles
Las declaraciones coincidentes usan la especificidad de CSS y el orden de origen, las declaraciones en línea tienen prioridad y !important se respeta dentro del subconjunto compatible
Las propiedades compatibles incluyen las propiedades de texto, fondo, fuente, decoración, alineación, line-height, margen, padding, borde, ancho, alto, display y vertical-alignment enumeradas a continuación, además de las propiedades Flexbox, Grid y notas al pie en sus respectivas secciones
Las longitudes aceptan puntos, píxeles a 0.75 puntos por píxel, unidades em, porcentajes y valores en puntos sin unidad; los tamaños de fuente también aceptan la escala estándar de palabras clave desde xx-small hasta xx-large
Flexbox
display:flex y display:inline-flex admiten flex-direction, flex-wrap, flex, flex-grow, flex-shrink, flex-basis, justify-content, align-items, align-self, align-content, gap, row-gap y column-gap
Los contenedores de filas distribuyen el espacio libre positivo y negativo por línea flexible, las filas ajustadas se miden de forma independiente y los contenedores de columnas distribuyen una altura explícita o derivada del contenido
Cuadrícula CSS
display:grid y display:inline-grid admiten grid-template-columns, grid-template-rows, pistas fijas, porcentuales y fr, repeat() y minmax() simples, grid-column, grid-row, propiedades de inicio y fin, extensiones, separaciones, colocación automática por fila o columna y alineación por elemento
Un contenedor acepta como máximo 256 elementos directos y 64 filas o columnas; el contenido anidado usa el mismo representador HTML y caché de diseño
Notas al pie
<footnote>, <aside style="float:footnote"> y <aside role="doc-footnote"> crean notas numeradas
Los cuadros de texto finitos reservan el área de nota en la parte inferior antes de diseñar las líneas posteriores del cuerpo; una referencia y una nota que no caben juntas continúan en el siguiente marco, y el estado de continuación conserva la numeración
Tablas
<table>, <tr>, <td> y <th> renderizan filas medidas con fondos, relleno, bordes, estilos de texto y colspan de hasta 64 columnas
Las columnas dividen por igual el ancho explícito de la tabla o el ancho disponible, las celdas de encabezado usan texto en negrita con fondo claro de forma predeterminada y una fila continúa como una unidad atómica en el siguiente cuadro de texto HTML
Las tablas anidadas, rowspan, la contracción de bordes y el ajuste automático del ancho de columnas según el contenido no forman parte de este subconjunto
Imágenes
<img src="name"> dibuja una imagen vinculada previamente con SetHTMLImage
El renderizador admite ancho, alto, margen, relleno, borde, fondo y alineación izquierda, central o derecha; una dimensión faltante conserva la relación de aspecto natural y las dimensiones omitidas usan 0,75 puntos por píxel de origen
Las fuentes de imagen nunca activan acceso a red ni a archivos, la medición no registra recursos y el uso repetido reutiliza el XObject de imagen vinculado
Límites y recuperación
Una entrada HTML acepta como máximo 2048 reglas de hoja de estilo, 256 bytes por selector, 4096 bytes por bloque de declaración, 4096 filas de tabla y 4096 celdas de tabla
Las propiedades, selectores, etiquetas y atributos desconocidos se ignoran mientras se conserva el texto circundante; las referencias de caracteres se decodifican y el anidamiento mal formado se cierra de forma conservadora
Ejemplo
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;