Des cellules fusionnées sur la hauteur

Une fiche technique, un tarif rangé par familles, un horaire : dès qu'un tableau comporte des groupes, le nom du groupe doit se poser une seule fois à côté de toutes ses lignes, au lieu d'être répété du haut en bas de la page. Le répéter n'est pas seulement laid : cela oblige le lecteur à s'arrêter pour vérifier si la quatrième ligne dit bien la même chose que la troisième.

Deux détails font la différence entre une fusion qui marche et une fusion qui en a seulement l'air. Les traits entre les lignes s'arrêtent au bord des cellules fusionnées au lieu de les traverser. Et quand une cellule fusionnée réclame plus de place que ses lignes ne lui en donnent, chacune des lignes qu'elle couvre grandit d'une part égale de ce qui manque : la grille reste droite.

Ce que montre cet exemple

  • Une cellule couvrant plusieurs lignes, en regard des lignes qu'elle nomme.
  • Des traits de séparation qui s'arrêtent à une cellule fusionnée au lieu de la traverser.
  • Une cellule fusionnée trop haute pour ses lignes, qui les fait toutes grandir également.

Le code source complet

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

Le document lui-même

Ouvrir le document en anglais Ouvrir le document en français

Des cellules fusionnées sur la hauteur, première page

Optimisé, ce document pèse 15.1 ko — au moins 85 % de moins que ce qu'écriraient la plupart des générateurs de PDF

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.

Des exemples voisins de celui-ci

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.

Un tableau qui se pagine tout seul

Un long tableau confié d'un bloc, qui décide lui-même de son découpage en pages : son en-tête en haut de chaque page, sa note en bas de chaque page, ses fonds gris définis une seule fois pour tout le tableau, et une mention que l'on trace soi-même sous chaque page, à l'endroit exact que le tableau indique.

Des colonnes mesurées sur leur contenu

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.

Des images dans les cellules d'un tableau

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.

Tous les exemples, par sujet