HPDFDecodeHeadlessRichText
function HPDFDecodeHeadlessRichText(const XHTML: UnicodeString;
const Options: THPDFHeadlessRichTextDecodeOptions): THPDFHeadlessRichTextRuns;
Décode un corps XHTML en runs rich text natifs ordonnés et indépendamment détenus, sans charger un PDF ni changer un document
Le texte mixte avant, dans et après des spans imbriqués conserve son ordre Unicode exact ; les commentaires sont ignorés, CDATA et références de caractères deviennent du texte, les paragraphes conservent leurs sauts, et br devient un carriage return
Le profil de styles pris en charge mappe font-size, color, font-weight, font-style, font-family, text-decoration et text-align vers les propriétés de runs natives existantes ; la dernière déclaration valide de plus haute importance l'emporte indépendamment pour chaque propriété
Les tailles em relatives et en pourcentages utilisent la taille de police calculée de l'élément englobant, de sorte que des déclarations répétées ne se composent pas dans un même élément ; inherit explicite restaure la propriété englobante même après un défaut de balise sémantique b, i ou u
Un !important final a priorité sur les déclarations ordinaires ; des espaces et commentaires CSS peuvent séparer ses tokens, et des déclarations important valides ultérieures font un override des déclarations importantes antérieures
Les commentaires CSS et valeurs quotées ou parenthésées préservent les frontières de déclarations ; les valeurs invalides et propriétés non prises en charge n'effacent pas une déclaration valide antérieure ni ne jettent le texte
Les tailles de police acceptent points, pixels à 96 dpi, em, pourcentages, pouces, centimètres, millimètres et picas ; les couleurs acceptent le RGB hexadécimal, composants rgb numériques ou en pourcentage, et les seize noms de couleurs CSS standard
Bold et italic sélectionnent les programmes de polices de style fournis par l'appelant quand ces runs sont ensuite peints ; les déclarations font-family configurées sélectionnent de vraies familles nommées fournies sans charger de polices externes
Les déclarations CSS inconnues ou invalides préservent le texte et les styles valides restants ; le CSS arbitraire, feuilles de style, listes, tableaux, images, alignement vertical et autres propriétés de layout restent hors de ce profil pris en charge
Le shorthand de police borné applique des composants de taille, weight, italic et famille fournie en cascade indépendante, y compris resets et héritage explicite
Les feuilles de style internes mettent en cascade les sélecteurs de type/classe/ID et d'attribut, les quatre combinateurs, les pseudo-classes structurelles et positionnelles, les listes complexes not/is/where, les relations has ancrées, les listes nth-child filtrées et les échappements d'identifiants Unicode avant la consommation réelle du texte
Le profil de sélecteurs statique correspond à :scope à la racine du texte enrichi et accepte les pseudo-classes hover, active et focus sans état d'interaction correspondant ; négation, listes logiques, sélecteurs relatifs et requêtes de support utilisent ces mêmes sémantiques
Les media queries conditionnent les styles internes avec des capacités d'hôte print/screen explicites, des expressions de plage bornées et des conditions booléennes imbriquées
Un namespace XHTML est requis ; les déclarations XML 1.0 optionnelles, préfixes de namespace qualifiés, entités prédéfinies et références de caractères scalaires sont prises en charge
Un XML ou Unicode malformé et des bornes épuisées lèvent EHPDFHeadlessRichTextCodecError ; l'annulation préserve EHPDFOperationCancelled
Limites et style par défaut · Import réel de données de formulaires
Les feuilles de style externes utilisent des ressources explicites de l'appelant et participent à la même cascade native
Les calculs numériques CSS finis ajoutent calc, min, max et clamp, les longueurs relatives à la racine et de viewport explicites, avec calcul de police finale pour les métriques de ligne et d'espacement et de vraies apparences sauvegardées
Les requêtes de support natives admettent les groupes @supports et les imports supports() avec le profil de déclarations et de sélecteurs pris en charge, avec bornes partagées et récupération par annulation