Imprimante PDF partagée avec Samba

Introduction

Il existe beaucoup de documentation à ce sujet mais une bonne partie est dépassée et il n'est pas facile de mettre en place une imprimante PDF de nos jours. Dans cet article, je vais vous raconter mon expérience personnelle afin d'aider les personnes que ça intéresse.

Matériel

Je vais supposer que vous posséder un réseau local comprenant au moins une station GNU/Linux équipée d'un serveur Samba.

Il faut également que CUPS soit installé et qu'il soit lancé. Les méthodes et les chemins de lancement de ces deux démons peuvent varier d'une distribution à l'autre. je suppose que vous savez les lancer (init script).

Vous partagez peut-être une imprimante à l'aide du serveur pour des clients Windows.

Avec Samba, il y a deux possibilités pour utiliser les drivers de l'imprimante.

Soit les drivers sont installés sur le serveur et le client va les chercher lorsqu'il se connecte à l'imprimante.

Soit on installe séparément les drivers sur les clients Windows à partir d'un CD ou autre.

La deuxième solution est plus simple à mettre en oeuvre. C'est celle que j'utilise.

Procédure

Sur le serveur

Vous devez commencer par installer cups-pdf qui vous permettra d'installer une imprimante PDF locale (je pense qu'il est déjà installé sur Ubuntu).

Vous devez ensuite installer l'imprimante PDF:

lpadmin -p NOM-IMPRIMANTE -E -v cups-pdf:/ -m raw -L Sterrebeek -D "DESCRIPTION"

Redémarrez cupsd.

À ce stade, l'imprimante est installée et fonctionne normalement, vous pouvez l'essayer en local sur n'importe quel fichier. Les PDF crées sont dans /var/spool/cups-pdf/$USER.

Si vous utilisez déjà Samba pour partager votre imprimante, l'imprimante PDF devrait déjà être partagée. Si ce n'est pas le cas, il faut éditer le fichier de configuration de Samba, il devra contenir les paramêtres suivants (en plus des autres ;-)).

[global]
printcap name = cups
load printers = yes
printing = cups

[printers]
   comment = All Printers
   path =/var/spool/samba
   guest ok = yes
   create mask = 0700
   printable = Yes
   browseable = Yes
   use client driver = yes

[PDF]
    comment = PDF directry generated by cups-pdf
    path =/home/pdf
    browseable = yes
    valid users = PDF-USER
    guest ok = no
    writable = yes
    printable = no

Attention, comme le serveur n'héberge pas les drivers, il ne faut pas que le fichier smb.conf contienne de section [print$] !!!

Dans ma configuration, /home/pdf est un lien symbolique vers le répertoire /var/spool/cups-pdf/PDF-USER. Il doit être possible de modifier le chemin de destination par défaut en utilisant le fichier cups-pdf.conf. Vérifiez vous permissions avant de vous connectez à partir des clients Windows.

Client Windows

Connectez vous au client et double cliquez sur l'imprimante PDF, une fenêtre devrait apparaître en disant que les pilotes ne sont pas installés. Cliquez sur ok ok ;-) jusqu'à ce qu'une boîte vous proposant de choisir les drivers apparaisse. Choisissez alors le driver Minolta Color PageWorks/Pro PS par exemple. Faites un essai, ça devrait marcher.

Arnaud Joset