Imprimer en PDF sous Linux avec cups-pdf

Imprimer en PDF sous Linux

Ce billet explique comment Imprimer en PDF sous Linux. La configuration des imprimantes a longtemps été la bête noire des systèmes Linux pour les utilisateurs lambda. A trop vouloir utiliser les interfaces natives proposées par le Desktop Manager, c’est très facile de passer à coter de CUPS, pourtant incontournable (ou même, de l’utiliser sans le savoir).

Common Unix Printing System (CUPS) est un système modulaire d’impression numérique pour les systèmes d’exploitation Unix et assimilés. Tout ordinateur qui utilise CUPS peut se comporter comme un serveur d’impression ; il peut accepter des documents envoyés par d’autres machines (ordinateurs clients), les traiter, et les envoyer à l’imprimante qui convient.
Wikipedia

Il existe différents clients graphique pour interagir avec CUPS mais pour ce billet, nous utiliserons l’interface web native de CUPS, certes moche, mais efficace ! Même si certains logiciel comme LibreOffice permettent nativement d’exporter en PDF, il est souvent utile de pouvoir imprimer en PDF sous Linux, de n’importe quelle application. Ce billet explique donc comment imprimer en PDF en ajoutant une imprimante virtuelle avec CUPS.

Si vous n’avez pas CUPS

Et bien il faut l’installer ^^. Je précise que j’écris ce billet en étant sous ArchLinux, les noms de paquets sont certainement différents sur les autres distributions. Personnellement j’ai installé :

  • cups
  • cups-pdf (permet l’ajout d’une imprimante virtuelle PDF)
  • gutenprint (ensemble de pilotes pour de vraies imprimantes)
  • gtk3-print-backends (pour que l’impression PDF fonctionne avec certaines applications GTK3)

Sous ArchLinux qui utilise SystemD, pour démarrer tout de suite le service et automatiquement à chaque démarrage :

Autrement si vous utilisez System V, à confirmer mais ça devrait quelque chose comme ça :

Imprimer en PDF sous Linux avec CUPS

La démarche est simple :

  • Lancer un client web CUPS en se rendant sur http://localhost:631
  • Onglet Administration : Add Printer
  • Choisissez CUPS-PDF (Virtual PDF Printer) (choix disponible après installation du package cups-pdf)
  • Laisser les options par défaut, changer la location éventuellement
  • Dans la section Make où sont listé les constructeurs, choississez « Generic » puis « Continue »
  • Choississez Generic CUPS-PDF Printer
  • Puis enfin « Add Printer »
Imprimer en PDF sous Linux

Ajout d’une imprimante virtuelle PDF

Cela parait trivial, mais lorsque l’on ne connait pas, on est tenté de se demander par exemple quel driver il faut choisir pour une imprimante virtuelle… On est donc tenté de regarder quel fichier PPD on pourrait choisir directement, et on trouve justement des fichier PPD pour imprimante PDF qui semblent ne demander que ça ! Sauf qu’ils n’ont pas fonctionnés chez moi : les PDF étaient générés mais sous forme d’une page blanche.

On regrettera l’impossibilité de choisir dynamiquement le répertoire et même le nom du fichier PDF qui sera généré. Le mieux que l’on puisse faire c’est configurer le répertoire par défaut de génération des PDF via le fichier de conf /etc/cups/client.conf via la clé Out, par example :  Out ${HOME}/pdf. C’est toujours ça 🙂

Liens utiles

 

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *