Un tableau de facture multi-pages
Douze lignes de facture tiennent sur une page, trente en occupent deux, la seconde reprenant l'en-tête et la mise en page de la première.
Une facture de trois cents lignes. Un état de stock. Un mois de tickets de caisse. Aucun ne tient sur une page, et aucun n'a non plus une longueur sur laquelle compter : le même état fait quatre pages un mois et onze le mois suivant. Quelqu'un doit malgré tout décider où chaque page s'arrête — et c'est dans cette décision qu'une page vide surgit de nulle part, qu'une ligne est coupée en deux, ou qu'un titre de section reste seul en bas d'une page, sans rien dessous.
Ici, le tableau entier est remis d'un coup et calcule lui-même ses pages. Le titre revient en haut de chacune, la note de bas revient sous la dernière ligne de chacune, et un titre de section reste avec les lignes qu'il introduit. Si le tableau atteignait un point où il ne peut plus avancer, il s'arrête et le dit, plutôt que d'ajouter en silence une page vide — le défaut que personne ne remarque avant qu'un client ne compte les pages.
Rien n'est omis et rien n'est simplifié : c'est le programme exactement tel qu'il tourne, pour le développeur qui utilise cette bibliothèque. La troisième est la description elle-même : une simple liste de ce que la page doit dire, et c'est elle qu'on envoie au service.
Voir le code Rust Voir le code Python Voir le code JSON
Ouvrir le document en anglais Ouvrir le document en français
Le document est plus léger qu'avant, et chaque page a exactement le même aspect. Voir la ligne de ce document dans le tableau de tous les exemples.
Douze lignes de facture tiennent sur une page, trente en occupent deux, la seconde reprenant l'en-tête et la mise en page de la première.
Ce qu'une cellule peut faire de son propre rectangle : la marge, la bordure, la place à l'intérieur, le fond.
Les quatre côtés d'une cellule en quatre couleurs différentes, et des fonds colorés distingués des bordures colorées.
Une fiche technique dont les cellules sont fusionnées sur la hauteur : chaque groupe est nommé une seule fois en face de toutes ses lignes, avec une remarque à côté ; les traits de séparation s'arrêtent au bord de ces cellules, et une remarque trop longue pour les lignes qu'elle couvre les fait grandir.
La même liste de pièces deux fois : quatre colonnes qui se partagent la largeur à parts égales, puis la référence, la quantité et le prix chacun aussi large que sa propre cellule la plus large, la désignation prenant tout ce qu'ils laissent.
Un catalogue dont la première colonne est une image et non du texte : quatre images de tailles et de proportions très différentes, chacune posée entière et sans déformation dans la cellule que le tableau lui donne, contre un coin différent — sans réclamer ni largeur à sa colonne ni hauteur à sa ligne.