Si c'est pénible, c'est qu'un CSV n'a pas de page. C'est une grille sans limite, alors qu'un PDF est une pile de rectangles fixes. Toute conversion doit décider où couper, et tous les outils qui s'en acquittent mal prennent la même décision : couper là où le papier s'arrête, puis laisser les colonnes restantes tomber par-dessus le bord droit.
La question utile n'est donc pas « comment convertir », puisque presque n'importe quoi produira un fichier, mais quelles colonnes et quelles lignes vont réellement dans le PDF. Répondez d'abord à cela et la conversion devient triviale.
Avant de convertir : réduire le fichier
Un PDF de 40 000 lignes n'est pas un document, c'est une erreur avec un poids en Mo. Personne n'ouvre la page 612. Si le destinataire a besoin de chaque ligne, envoyez-lui le CSV.
Le PDF est le bon format quand le résultat doit être lu plutôt que traité, ce qui veut dire qu'il doit être :
- Filtré. Les lignes qui concernent ce destinataire, pas l'export entier.
- Resserré. Six à dix colonnes tiennent lisiblement sur une page A4 en paysage. Quinze, non, quelle que soit la taille de police qu'une personne acceptera de lire.
- Souvent synthétisé. Un GROUP BY qui ramène 40 000 lignes à 30 est généralement le document qu'on voulait vraiment.
Faire cela avant la conversion, c'est toute la différence entre un rapport utilisable et 600 pages de grille tronquée.
Orientation et largeur des colonnes
Deux réglages décident de la lisibilité du résultat, et tous deux sont mauvais par défaut.
Paysage, toujours, sauf si le fichier a moins de cinq colonnes. En portrait, l'A4 accueille environ six colonnes étroites ; en paysage, dix.
Ajuster à la largeur, pas à un pourcentage. Tous les tableurs ont cette option et presque personne ne la trouve : dans Excel, c'est Mise en page → Mise à l'échelle → Largeur : 1 page. Sans elle, les colonnes à partir de la onzième sont imprimées sur leurs propres pages après la dernière ligne, et c'est ainsi qu'on obtient un PDF de 40 pages pour un tableau de 12.
Ensuite, deux réglages à faire une fois pour toutes :
- Répéter la ligne d'en-tête sur chaque page. Excel l'appelle Imprimer les titres → Lignes à répéter en haut. Un tableau dont l'en-tête n'apparaît qu'en page un est illisible dès la page deux.
- Activer le quadrillage. Il est désactivé par défaut à l'impression, et un tableau large sans quadrillage est très difficile à lire en travers.
Les méthodes, selon la situation
Depuis un tableur, sur ordinateur
Ouvrez le CSV, appliquez les réglages ci-dessus, puis Imprimer → Enregistrer au format PDF. C'est le rendu le plus soigné de toutes les méthodes présentées ici, et la seule où l'on peut ajouter un titre et des numéros de page sans écrire de code.
Attention toutefois à l'import : en ouvrant un CSV, Excel convertit tout ce qui ressemble à une date, et un PDF garde cette erreur de façon permanente. Une colonne de numéros de commande qui arrive sous la forme 43831 valait 2020-01-01 dans le fichier. Importez en texte si les données contiennent des identifiants, des zéros initiaux ou de longs nombres.
En ligne de commande
Pour un tableau simple et correct, sans choix de mise en forme :
csvlook data.csv | enscript -B -f Courier8 -o - | ps2pdf - out.pdf
Plus pratique si vous voulez contrôler la mise en page : passer par HTML. Chaque système dispose d'un navigateur sans interface, et les navigateurs paginent très bien les tableaux :
csvtomd data.csv > table.md
pandoc table.md -o out.pdf
L'avantage de la voie HTML : @page { size: A4 landscape } et thead { display: table-header-group } dans une feuille de style donnent exactement les deux choses que les tableurs enfouissent dans des boîtes de dialogue, à savoir l'orientation et la répétition des en-têtes.
Depuis un téléphone
C'est là que la conversion se présente réellement : le fichier est dans votre messagerie, la personne qui en a besoin veut quelque chose de lisible à l'écran sans application de tableur, et vous n'êtes pas près d'un ordinateur.
L'essentiel reste le même qu'ailleurs : filtrer et resserrer avant d'exporter. Un PDF au format téléphone avec cinq colonnes et quarante lignes est un bon livrable. Un PDF au format téléphone du fichier entier, non.
Convertit directement en PDF, avec les colonnes et la mise en forme de l'export choisies plutôt qu'héritées. L'éditeur de filtres visuel ou une requête SQL réduit d'abord le fichier aux lignes qui méritent d'être imprimées, et c'est cette étape qui décide si le PDF est lisible.
Ce que ça faitQuand le PDF est la mauvaise réponse
Trois cas, qui couvrent l'essentiel des demandes.
« Pour qu'ils puissent l'ouvrir sans Excel. » Ils le peuvent déjà : un CSV s'ouvre dans le Bloc-notes, TextEdit, n'importe quel navigateur, Google Sheets, Numbers et sur tous les téléphones. Si l'on craint un mauvais rendu, la solution est généralement un fichier plus étroit, pas un autre format.
« Pour qu'ils ne puissent pas le modifier. » Un PDF n'est pas en lecture seule en un sens qui compte. Il se modifie et s'extrait sans difficulté. Si l'exigence est l'intégrité, la réponse est une signature ou une somme de contrôle, pas un format de fichier.
« Pour qu'ils puissent utiliser les données. » Le PDF est le pire conteneur possible pour des données tabulaires, et les en extraire à nouveau est une tâche autour de laquelle s'est bâtie toute une industrie. Si le destinataire va faire quoi que ce soit avec les chiffres, envoyez le CSV, accompagné d'un PDF de synthèse.
Les vrais cas d'usage du PDF : quelque chose à imprimer, à archiver avec une pagination figée, à joindre à un dossier officiel, ou dont la mise en page doit survivre à un transfert.
Lui donner l'allure d'un rapport
Quatre points, classés selon leur effet sur le résultat :
- Nombres alignés à droite, texte aligné à gauche. Rien d'autre n'améliore autant la lisibilité, et c'est un seul réglage.
- Fixer le nombre de décimales. Une colonne qui mélange
1.5et1.4999999fait négligé, et c'est généralement un artefact de virgule flottante plutôt qu'une vraie précision. - Ajouter un en-tête et un pied de page. Titre, date couverte par les données (pas la date d'impression) et numéros de page.
- Dire ce qu'est le fichier. Une ligne en haut : la source, le filtre appliqué, le nombre de lignes. Six mois plus tard, c'est ce qui distingue un document d'un mystère.
Quand le fichier doit être corrigé avant l'envoi, qu'il s'agisse d'une colonne à arrondir, d'un total à calculer ou de lignes à supprimer, les colonnes de formules s'en chargent sur le téléphone. Le résultat est enregistré dans le CSV, de sorte que les chiffres restent identiques quel que soit l'outil d'impression.
Ce que ça faitDes graphiques plutôt que des tableaux
Une question à se poser avant de convertir quoi que ce soit : le destinataire veut-il les lignes, ou la forme ? Une tendance sur douze mois est une courbe, et un tableau de douze mois est une courbe de moindre qualité qui prend plus de temps à lire.
La meilleure version de ce document est généralement un graphique en première page avec le tableau synthétique derrière. C'est l'affaire de deux minutes dans n'importe quel outil capable de produire les deux, et bien plus utile que l'un ou l'autre seul.