ANS-1213 · IMPRESSION, PDF ET MODèLES D’E-MAILS
En quoi les modèles PDF/HTML avancés de NetSuite traitent-ils le CSS différemment ?
Les modèles PDF/HTML avancés de NetSuite utilisent le générateur de rapports Big Faceless Organization (BFO), qui traite les éléments CSS et HTML avec des comportements de rendu différents de ceux des navigateurs Web standard.
Solution courte
Les modèles PDF/HTML avancés de NetSuite traitent le CSS différemment, car il s’agit de documents XML générés par le générateur de rapports BFO, et non par un navigateur Web standard. Il en résulte des comportements de rendu spécifiques pour certains éléments, tels que les tableaux, où les attributs et les propriétés CSS peuvent se comporter différemment des spécifications HTML/CSS habituelles, ce qui nécessite des approches spécifiques compatibles avec BFO pour la mise en forme.
Scénario
Les utilisateurs qui développent des modèles PDF/HTML avancés dans NetSuite peuvent constater que les styles CSS et le comportement des éléments HTML ne s’affichent pas comme prévu, contrairement à ce qu’ils donneraient dans un navigateur Web standard. Cette divergence peut entraîner des mises en page inattendues, des problèmes de style et des difficultés à obtenir la présentation visuelle souhaitée pour les documents PDF générés.
Solution
Les modèles PDF/HTML avancés de NetSuite s’appuient sur le générateur de rapports Big Faceless Organization (BFO), une application Java qui convertit les documents XML en fichiers PDF. Cette technologie sous-jacente implique que les éléments CSS et HTML sont traités avec de légères différences par rapport au rendu standard du HTML et du CSS dans les navigateurs Web. Il est essentiel de bien comprendre ces différences pour concevoir efficacement vos modèles. Voici les principales différences dans la manière dont BFO gère les modèles de tableaux par rapport à HTML4 et CSS :
Les cellules de tableau peuvent occuper tout l’espace disponible. Contrairement au HTML standard, où une petite cellule dans une grande colonne peut entraîner une marge effective importante, le rendu BFO peut ne pas présenter ce comportement.
Les cellules de tableau vides sont généralement affichées. En HTML standard, il est souvent nécessaire de forcer explicitement l’affichage des cellules vides, par exemple en utilisant l’attribut
.Les bordures et l’espacement des tableaux peuvent être gérés différemment. Alors que l’attribut
borderdéfinit généralement la bordure de l’ensemble du tableau, des attributs BFO spécifiques aux bordures de cellules individuelles (par exemple,cellborder) ou à l’espacement des cellules (par exemple,cellmargin) peuvent exister ou avoir existé, et fonctionnent de manière distincte des attributs HTML standard tels queborderpour les cellules oucellspacing.Les lignes de tableau peuvent prendre en charge le remplissage, les marges et les bordures, contrairement au modèle CSS2. Toutefois, ces propriétés peuvent être limitées à l’axe vertical, ce qui signifie que les propriétés horizontales telles que
margin-leftoupadding-rightpeuvent être forcées à zéro.L’algorithme de fusion des bordures recommandé dans CSS2 n’est généralement pas implémenté.
La balise
CAPTIONutilisée en HTML n’est généralement pas implémentée. À titre d’alternative, un paragraphe peut être placé immédiatement avant ou après le tableau pour servir de légende.Les attributs
colset GA_KEEP_0011, couramment disponibles dans les tableaux HTML, peuvent ne pas avoir d’effet sur le rendu dans BFO.Pour obtenir des informations plus détaillées et à jour sur le comportement de rendu de BFO et les balises prises en charge, nous vous invitons à consulter le Guide de l’utilisateur de BFO ou la documentation sur les balises BFO aux adresses https://bfo.com/products/report/docs/userguide.pdf et https://bfo.com/products/report/docs/tags/.
Support expert NetSuite
Besoin d’aide pour cet enjeu NetSuite ?
Accompagnement-conseil et configuration pour Impression, PDF et modèles d’e-mails
