Appendix A: Supported HTML tags
Renderer HTML menerima subset berbatas untuk rich text, block terstruktur, tabel, dan image yang dipetakan eksplisit
Parameter
<p>, <br> | Paragraf dan hard line break, termasuk attribute perataan dan spasi paragraf legacy |
|---|---|
<h1> through <h6> | Heading block tebal dengan ukuran default yang menurun |
<div>, <section>, <article>, <header>, <footer>, <main> | Block containers |
<blockquote> | Indented block content |
<ul>, <ol>, <li> | List bersarang yang tidak berurut dan berurut |
<b>, <strong>, <i>, <em> | Teks bold dan italic |
<sup>, <sub>, <u> | Superskrip, subskrip, garis bawah, garis bawah ganda, coret, dan garis atas |
<font>, <span> | Attribute font, warna, background, outline, mode render teks, dan background membulat legacy |
<a href="..."> | Hyperlink HTTP, HTTPS, dan file |
Kaskade CSS
Aturan bisa muncul di elemen <style> atau attribute style inline
Selector mendukung tag, class, ID, kombinasi tag.class, dan kombinator descendant whitespace; selector attribute, pseudo selector, serta kombinator sibling atau anak yang tidak didukung diabaikan
Deklarasi yang cocok memakai specificity CSS dan urutan sumber, deklarasi inline lebih diutamakan, dan !important dihormati di dalam subset yang didukung
Property yang didukung mencakup property teks, background, font, dekorasi, perataan, line-height, margin, padding, border, width, height, display, dan vertical-alignment yang tercantum di bawah, ditambah property Flexbox, Grid, dan footnote di bagian masing-masing
Panjang menerima point, piksel dengan 0.75 point per piksel, satuan em, persentase, dan nilai point tanpa satuan; ukuran font juga menerima skala keyword standar dari xx-small sampai xx-large
Flexbox
display:flex dan display:inline-flex mendukung flex-direction, flex-wrap, flex, flex-grow, flex-shrink, flex-basis, justify-content, align-items, align-self, align-content, gap, row-gap, dan column-gap
Container baris membagikan ruang kosong positif dan negatif per flex line, baris yang di-wrap diukur independen, dan container kolom membagikan tinggi eksplisit atau yang diturunkan dari konten
CSS Grid
display:grid dan display:inline-grid mendukung grid-template-columns, grid-template-rows, track tetap, persentase, dan fr, repeat() dan minmax() sederhana, grid-column, grid-row, properti start dan end, span, gap, auto-placement baris atau kolom, serta perataan per item
Satu container menerima maksimum 256 item langsung dan 64 baris atau kolom; konten bersarang memakai renderer HTML dan layout cache yang sama
Catatan kaki
<footnote>, <aside style="float:footnote">, dan <aside role="doc-footnote"> membuat catatan bernomor
Text box berukuran pasti mereservasi area catatan di bagian bawah sebelum menata baris isi berikutnya; referensi dan catatan yang tidak muat bersamaan berlanjut ke frame berikutnya, dan state kelanjutannya mempertahankan penomoran
Tabel
<table>, <tr>, <td>, dan <th> merender baris terukur dengan background, padding, border, gaya teks, dan colspan hingga 64 kolom
Kolom membagi lebar tabel eksplisit atau lebar yang tersedia secara sama rata, cell header default-nya teks tebal dengan background terang, dan satu baris berlanjut sebagai satu unit atomik di text box HTML berikutnya
Tabel bersarang, rowspan, border collapsing, dan sizing kolom otomatis berbasis konten bukan bagian dari subset ini
Gambar
<img src="name"> menggambar image yang sebelumnya diikat SetHTMLImage
Renderer mendukung width, height, margin, padding, border, background, dan perataan kiri, tengah, atau kanan; satu dimensi yang hilang mempertahankan aspect ratio alami, dan dimensi yang dihilangkan memakai 0.75 point per piksel sumber
Sumber image tidak pernah memicu akses network atau file, pengukuran tidak mendaftarkan resource, dan pemakaian berulang memakai ulang image XObject yang terikat
Batas dan pemulihan
Satu input HTML menerima maksimum 2048 aturan stylesheet, 256 byte per selector, 4096 byte per block deklarasi, 4096 baris tabel, dan 4096 cell tabel
Properti, selector, tag, dan attribute yang tidak dikenal diabaikan sementara teks di sekitarnya dipertahankan; referensi karakter didekode dan nesting salah bentuk ditutup secara konservatif
Contoh
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;