Aller au contenu
freeonlinemarkdowneditor
Français

Blog

Exporter du Markdown en PDF depuis un navigateur

pdfimpressiontexte enrichi

Il y a deux façons pour un navigateur de produire un PDF à partir d’une page web, et elles ne se valent pas.

La première consiste à rendre la page sous forme d’image et à envelopper l’image dans un PDF. Les bibliothèques qui font cela sont faciles à ajouter, et le résultat est un fichier où le texte n’est plus du texte — vous ne pouvez ni le sélectionner, ni le chercher, ni en copier une ligne, et le fichier pèse plusieurs fois ce qu’il devrait.

La seconde consiste à imprimer la page et à choisir « Enregistrer en PDF » comme destination. Le navigateur met le document en page pour le papier, respecte la feuille de style d’impression et écrit du vrai texte vectoriel. Cela coûte un clic de plus et produit un fichier réellement meilleur, c’est donc ce qui se passe ici quand vous appuyez sur Enregistrer en PDF.

Les quatre réglages qui comptent

Tout ce qui suit se trouve dans la boîte d’impression, pas sur la page, parce qu’aucune feuille de style ne peut les définir.

Destination : Enregistrer en PDF. Pas une imprimante physique.

Graphiques d’arrière-plan : activés. C’est sous Plus de paramètres et c’est celui que l’on oublie. Désactivé, le navigateur jette tous les fonds — les blocs de code perdent leur teinte, les en-têtes de tableau deviennent blancs, et un PDF au thème sombre sort en papier blanc avec du texte blanc dessus, ce qui ressemble à un export cassé plutôt qu’à un réglage.

En-têtes et pieds de page : désactivés. Cette option, c’est le navigateur qui ajoute de lui-même l’URL de la page et la date. Si vous avez défini votre propre en-tête ou pied de page, les deux se télescopent. Désactivez celui du navigateur et gardez le vôtre — ou faites l’inverse si vous voulez des numéros de page, ce qui est traité plus bas.

Échelle : 100 % ou Par défaut. « Ajuster à la page » redimensionne la typographie et déséquilibre les marges, et ce sont les marges dont dépend l’espace de l’en-tête et du pied de page.

Pourquoi le contrôle d’échelle disparaît parfois

Si un document déclare une taille de papier fixe, Chrome considère que le papier est déjà décidé par l’auteur et masque entièrement le contrôle d’échelle. Ce n’est un bogue ni du navigateur ni de la page — c’est la conséquence du fait que le document se soit prononcé.

Le papier est donc un choix : A4, Letter, ou Par défaut de l’imprimante. Les deux premiers demandent une taille et vous perdez l’échelle. Le troisième ne demande rien et l’échelle revient. Les marges sont définies par le document dans les trois cas, un en-tête ou un pied de page garde donc sa place quoi qu’il arrive.

En-têtes et pieds de page répétés

Un en-tête répété revient sur chaque page. Dans un navigateur, cela se fait avec un élément en position fixe, dont la spécification dit qu’il se répète sur chaque feuille d’un média paginé.

La subtilité est de lui réserver de la place. L’approche évidente — une marge intérieure en haut du corps du document — réserve la place une seule fois, parce que le corps est une seule boîte quel que soit le nombre de pages qu’il occupe à l’impression. Cela marche à la page un, puis à partir de la page deux l’en-tête se pose sur le texte.

La solution est de réserver la place dans la marge de @page, qui s’applique par page, et de positionner la barre dans cette marge avec un décalage négatif. C’est ce que fait la zone de tamponnage, et elle n’élargit la marge que du côté qui porte effectivement une barre.

Chacun des quatre champs — en-tête gauche, en-tête droit, pied gauche, pied droit — accepte le texte de votre choix, plus des jetons remplis à l’impression :

  • {title} — le premier titre ou la première ligne du document
  • {date}, {time}, {datetime} — quand le PDF a été fait

Pas de numéros de page, et pourquoi

Il n’y a délibérément pas de jeton {page}. Compter les pages à l’intérieur d’un élément répété n’est pas quelque chose qu’un navigateur sache faire : counter(page) ne se résout qu’à l’intérieur des boîtes de marge de @page, et aucun navigateur majeur ne les implémente. Un jeton qui n’imprimerait silencieusement rien serait pire que pas de jeton du tout.

Si vous avez besoin de numéros de page, l’option d’en-têtes et pieds du navigateur les ajoute. Utilisez-la à la place d’un tampon, ou acceptez les deux et laissez-les sur des bords opposés.

PDF sombres

L’option sombre inverse la page — papier noir, encre blanche — et laisse les autres couleurs tranquilles. Une exception délibérée : la couleur des liens est éclaircie, parce que le bleu du thème clair se situe à environ 2,5:1 contre le noir et est illisible. Il garde sa teinte et gagne en contraste.

Souvenez-vous des graphiques d’arrière-plan. Un PDF sombre imprimé sans eux est une page blanche.

Essayer le convertisseur →