Aller au contenu principal

Questions

Puis-je imprimer un document depuis mon application ?

Oui, et sans rien installer. Toute application générée embarque une feuille d'impression : un Ctrl+P — ou « Enregistrer en PDF » — sort une page A4 débarrassée de la navigation, en noir sur blanc quel que soit le thème affiché à l'écran. L'état de synthèse va plus loin : il porte un bouton « Imprimer » déterministe, ses aplats de couleur sont restitués fidèlement, et ses sauts de page ne coupent jamais une ligne de montant en deux. Ce qu'il faut savoir en revanche : le PDF est produit par le navigateur, pas par une bibliothèque embarquée — il n'y a donc ni modèle de facture à votre en-tête, ni envoi automatique par courriel. Cette page dit exactement ce qui sort de l'imprimante, et ce qui n'en sort pas.

Ce qui est là dans toutes les applications : une feuille A4 propre

La feuille d'impression n'est pas une option à activer : elle est écrite dans la feuille de style de chaque application générée, et elle ne s'applique qu'à l'impression — le rendu à l'écran reste identique au caractère près. Ce qu'elle fait tient en quatre gestes. Elle fixe le format à A4 avec des marges d'imprimante lisibles. Elle retire du papier tout ce qui ne s'imprime pas : le rail de navigation latéral, la barre supérieure, le pied de session, le badge Blueprint et tout élément marqué comme non imprimable — le bouton « Imprimer » lui-même en fait partie, il ne se retrouve donc jamais sur la sortie.

Elle force ensuite le fond en blanc et l'encre en noir, quel que soit le thème actif au moment de l'impression : une application affichée en thème sombre ne sort pas une page noire, et le contraste est garanti sans consommer une cartouche. Enfin — c'est le point le moins visible et le plus utile — elle redonne à la coquille un comportement de document. À l'écran, l'application occupe la hauteur de la fenêtre et fait défiler son contenu à l'intérieur ; à l'impression, cette mécanique produirait une page tronquée à la première hauteur d'écran. Les règles la neutralisent : la hauteur suit le contenu, et une liste de quarante lignes sort sur autant de pages qu'il en faut.

L'état de synthèse : un livrable, avec son bouton

Une section d'état de synthèse — un récapitulatif chiffré, un document à rubriques — est par nature destinée au papier ou au PDF. Elle porte donc un bouton « Imprimer » posé déterministement par le générateur, sans dépendance ni appel réseau : il déclenche l'impression du navigateur, et il est lui-même masqué sur la sortie. Le document est repris en conséquence : l'ombre portée disparaît, les coins arrondis se redressent, la largeur devient pleine page, et le défilement horizontal interne est neutralisé pour que rien ne reste hors du papier.

Deux détails font la différence entre une capture d'écran et un document. D'abord les aplats de couleur — bandeau d'en-tête, ligne de total, sous-totaux — sont restitués fidèlement, alors que les navigateurs les blanchissent par défaut à l'impression : sans cette règle, la ligne de total perdrait exactement ce qui la distingue des autres. Ensuite les sauts de page sont tenus : une ligne de montant n'est jamais coupée en deux entre deux feuilles, et un titre de rubrique ne reste jamais orphelin en bas de page — il part avec les lignes qu'il annonce.

Le PDF vient du navigateur, et c'est un choix

Aucune bibliothèque de génération de PDF n'est embarquée dans l'application livrée : le PDF est celui que produit la boîte de dialogue d'impression de votre navigateur, par « Enregistrer au format PDF ». Ce choix a des conséquences dans les deux sens, et il vaut mieux les connaître. Du bon côté : ça fonctionne sans connexion, ça ne coûte rien, ça n'ajoute aucune dépendance à maintenir, et ça marche depuis un téléphone comme depuis un ordinateur. Du moins bon : c'est un geste manuel — il n'existe pas de bouton « envoyer le PDF au client » — et l'en-tête, le pied de page et le nom du fichier viennent des réglages du navigateur, pas de l'application.

Pour les documents à lignes — un récapitulatif de commande, un état détaillé —, le générateur sait produire la mise en page correspondante quand la structure de vos données le justifie : un parent, des lignes rattachées, et un montant de ligne qui se RECALCULE depuis les champs de la ligne. Ce dernier point n'est pas une coquetterie : un montant recalculé à chaque affichage ne peut pas diverger de ses composants, alors qu'un montant stocké ne se contrôle contre rien. Quand la structure est ambiguë, le générateur s'abstient plutôt que de produire un document faux — pas de document vaut mieux qu'un document qui ment.

Ce que ça ne remplace pas

Disons-le franchement : ce n'est pas un module de facturation. Il n'y a ni modèle de facture à votre en-tête, ni numérotation légale, ni mentions obligatoires posées automatiquement, ni envoi au client — et une facture électronique au sens de la réglementation n'est de toute façon pas un PDF, mais un format structuré transmis par une plateforme agréée, sujet traité dans la question dédiée. Ce que l'impression couvre, c'est l'autre besoin, celui du quotidien : sortir une feuille lisible à donner, à afficher dans l'atelier, à emporter sur un chantier ou à classer.

Pour faire circuler des données plutôt que du papier, chaque liste porte par ailleurs son bouton d'export au format CSV, qui exporte les lignes que vous voyez et affiche leur nombre sur le bouton. Et si un vrai générateur de PDF devient nécessaire — un modèle à votre charte, une numérotation, un envoi automatique —, il reste possible de l'ajouter : le code livré est un projet Next.js et Prisma ordinaire qui vous appartient, et un développeur peut y brancher ce qu'il faut. Ce n'est pas fourni clés en main ; c'est simplement possible, ce qui n'est pas le cas d'un outil fermé.

Pour aller plus loin

Questions proches

Générer une application qui s'imprime proprement