Serveur d'impression

Comment transformer votre Raspberry Pi et une ancienne imprimante en un serveur d'impression que vous pouvez utiliser à partir de n'importe quel appareil (y compris les téléphones et les tablettes) – Bien choisir son serveur d impression

Le 23 janvier 2020 - 10 minutes de lecture

Dans quelle mesure serait-il pratique d'avoir un dossier réseau partagé dans lequel vous pouvez déposer un PDF à imprimer et il sort comme par magie de l'imprimante quelques minutes plus tard? D'autant plus que vous pouvez imprimer au format PDF à partir de pratiquement n'importe quelle plate-forme ou appareil .. y compris les téléphones mobiles et les tablettes. Assez pratique je pense! Surtout si vous pouvez le faire avec à peu près n'importe quelle ancienne (ou même ancienne) imprimante plutôt que d'avoir à acheter une nouvelle bluetooth / sans fil géniale.

Voici comment faire exactement cela…

Contexte… (vous pouvez sauter ce morceau si vous le souhaitez)

Ok donc nous avons eu une situation intéressante la semaine dernière où ma fidèle imprimante Canon IP4200 que j'avais pratiquement à jamais a soudainement cessé de fonctionner. Merde.

Cependant, quand je l'ai eu, j'imprimais beaucoup sur DVD, donc je passais par des imprimantes comme la plupart des gens passent par le papier toilette. Alors, intelligent, quand j'ai acheté l'IP4200, car je l'ai fait reconditionner et à un prix très intéressant, j'ai acheté une pièce de rechange en même temps et je l'ai collée dans le grenier pour le moment où la première échouait inévitablement.

Des années se sont écoulées et l'imprimante n ° 1 a continué de fonctionner, puis j'ai cessé d'imprimer des DVD et j'ai été relégué à l'impression occasionnelle de l'étiquette postale d'Ebay et du document étrange de temps en temps pour mon partenaire. Il a été utilisé très rarement mais parfois nous avons besoin d'une imprimante.

Donc, de toute façon, j'ai démêlé le Canon mort des spaghettis de câblage qu'il habitait, récupéré la sauvegarde du grenier et l'ai branché, j'ai échangé les cartouches et… wohoo! tout fonctionne o /.

Enfin presque. J'avais oublié de remplacer la tête d'impression. Pas de soucis, les cartouches sont sorties, ont sorti la tête d’impression de l’imprimante n ° 1 et monté sur l’imprimante n ° 2, remonté les chariots et nous voilà partis pour les courses… ou pas.

Maintenant, le n ° 2 se comportait exactement de la même manière que le n ° 2 (c'est-à-dire rien).

Un peu de recherche plus tard – il semble que ces Canons soient enclins à ce que la tête d'impression (unité remplaçable) se mette à fonctionner, ce qui tue les cartes logiques dans le corps de l'imprimante. Donc, en échangeant ma tête d'imprimante morte dans le nouveau corps d'imprimante, je venais de tuer l'imprimante numéro 2. Merde!

Je n'apprécie pas d'avoir à acheter des imprimantes dans le meilleur des cas, donc je me suis dit que quelqu'un dans la famille devait avoir une vieille imprimante à portée de main que nous pourrions utiliser. De toute façon, il fallait seulement pouvoir imprimer en noir et blanc pour que tout fasse.

J'ai donc parlé à mon père et comme je l'espérais, il avait quelques imprimantes de rechange qui étaient devenues obsolètes lors de sa récente frénésie de mise à niveau de Windows 10 … elles fonctionnaient parfaitement bien mais les fenêtres ne voulaient plus savoir, elles étaient donc vouées à la tas de ferraille.

Parfait 😀

Entrez dans notre nouveau (ancien) HP deskjet 3325…

Après un peu de tripotage, j'ai établi que non seulement il ne fonctionnait pas avec Windows 10, mais qu'il ne fonctionnait pas non plus avec Windows 7. Bien que cela aurait fonctionné avec XP et que nous ayons toujours la machine XP occasionnelle qu'ils sont cachés dans le serveur les cabines, donc le placement n'aurait pas vraiment été pratique… alors j'ai pensé qu'il devait y avoir une meilleure façon.

Linux à la rescousse (comme toujours)

Je pense que vous atteignez un point dans votre carrière informatique où la plupart des choses peuvent être résolues avec une machine Linux et un peu de script bash… et c'était vraiment l'une de ces occasions.

J'ai quelques machines Raspberry Pi qui exécutent diverses tâches ménagères (serveur torrent / TV, serveur CCTV, etc.) alors j'ai pensé en utiliser une, ce qui s'est avéré en fait très simple.

Vous devez d'abord installer CUPS (système d'impression Unix commun). Je ne couvrirai pas cela ici car il y a beaucoup de tutoriels dessus. Je l'ai fait sur un Raspberry Pi et j'ai principalement utilisé les informations d'ici:

http://www.penguintutor.com/linux/printing-cups

Et il y a quelques informations supplémentaires sur l'administration de CUPS ici:

http://askubuntu.com/questions/23936/how-do-you-administer-cups-remotely-using-the-web-interface

Si vous avez une imprimante HP, vous voudrez peut-être aussi les pilotes Linux ICI

Pour activer l'administrateur distant CUPS, procédez comme suit (la source);

cupsctl --remote-admin

Sans cela, vous ne pouvez voir la page d'administration CUPS que depuis l'hôte lui-même, ce qui n'est pas très pratique si vous configurez à partir d'une machine en réseau.

Ok, donc si vous suivez ces instructions, vous devriez, espérons-le, installer votre imprimante et pouvoir imprimer une page de test à partir de la page d'administration CUPS.

Dans le passé, lorsque mon partenaire avait besoin d'imprimer quelque chose, elle l'imprimait au format PDF depuis son ordinateur portable, sa tablette ou autre et m'envoyait un e-mail, car l'imprimante était connectée à mon PC. C'est un processus qui fonctionne assez bien pour nous depuis plusieurs années. Le plan était de continuer ce format mais d'une manière un peu plus automatisée.

La première chose à faire est donc de lancer une console sur votre machine Linux (j'utilisais SSH à distance sur un Raspberry Pi) et de trouver le nom de votre imprimante installée:

REMARQUE: comme d'habitude – les choses que vous tapez seront en gras, des choses importantes ou des choses que vous devrez changer en rose.

pi @ pi1: ~ $ lpstat -p -d
imprimante HP_deskjet_3320_USB_HU31S1R1M34I_HPLIP    est inactif. activé depuis le dim 05 mars 2017 21:24:06 GMT
pas de destination par défaut du système

le nom de votre imprimante doit être là où se trouve le texte rose. Sinon, revenez en arrière et réessayez d'installer CUPS ou votre imprimante * sur * CUPS.

Groovy, donc la prochaine chose à comprendre est de savoir comment imprimer un PDF à partir de la ligne de commande linux … pour lequel j'ai trié des informations d'ici:

https://makandracards.com/makandra/24202-linux-how-to-print-pdf-files-from-the-command-line

J'ai fini par devoir utiliser une ligne comme celle-ci:

pi @ pi1: ~ $ lp -d HP_deskjet_3320_USB_HU31S1R1M34I_HPLIP blahblah.pdf

où «HP_deskjet_3320_USB_HU31S1R1M34I_HPLIP» était le nom de l'imprimante tel qu'indiqué dans CUPS et blahblah.pdf est le fichier PDF à imprimer.

Pour que cela fonctionne, vous souhaiterez probablement également configurer SAMBA afin que les machines Windows puissent facilement déposer des PDF dans le dossier partagé. Ironiquement, c'est moins un problème avec les téléphones / tablettes car ils semblent prendre en charge sftp en natif (par exemple ES File Explorer sur Android). Vous trouverez ici des informations sur la configuration de Samba:

http://raspberrywebserver.com/serveradmin/share-your-raspberry-pis-files-and-folders-across-a-network.html

et un autre: configuration de samba sur framboise pi

Tout rassembler…

ok donc maintenant j'espère que vous avez une imprimante fonctionnant via CUPS sur votre machine linux, un partage samba auquel toutes vos machines peuvent accéder à partir du réseau .. le temps de quelques lignes de magie Bash pour que tout fonctionne…

ouvrir un nouveau fichier appelé autoprint.sh

pi @ pi1: ~ $ sudo nano autoprint.sh

et entrez les informations suivantes:

#! / bin / bash

CD / home / pi / to_print
pour d en * .pdf; faire
    echo "Fichier de traitement: $ d"
 lp -d HP_deskjet_3320_USB_HU31S1R1M34I_HPLIP    -o ajusté à la page "$ d"
    rm "$ d"
    echo "DONE: $ d"
terminé

Remplacez le nom de l'imprimante en rose par le nom de votre imprimante que vous avez découvert en lpstat plus tôt, et vous devrez également modifier la première ligne «cd / home / pi / to_print» pour qu'elle corresponde au dossier que vous avez désigné comme dossier partagé.

Puis CTRL + X et oui pour quitter et enregistrer.

** Notez l'ajout de l'option «-o fit-to-page» qui l'empêche de recadrer le bas de la page. Grâce à cette personne

Nous devons rendre le script exécutable, alors faites:

pi @ pi1: ~ $ sudo chmod + x autoprint.sh

Ce que ce script fait, c'est de modifier votre dossier «à imprimer», de parcourir tous les fichiers pdf du dossier spécifié et de les imprimer, puis de supprimer le PDF après l'impression. Simples.

Évidemment, utilisez-le comme un dossier «temporaire», ne mettez pas la seule copie de votre PDF que vous souhaitez imprimer dedans. car il sera supprimé. Si vous voulez deux copies, mettez-y deux copies du fichier. Le script ne se soucie pas du nom de fichier tant qu'il s'agit d'un PDF.

Vous pouvez tester le script en déposant un PDF dans le dossier to_print et en exécutant le script manuellement:

pi @ pi1: ~ $ ./autoprint.sh

L'imprimante devrait commencer à faire son travail. Si ce n'est pas le cas, vérifiez que vos chemins sont correctement configurés.

Une fois que le script fonctionne, la dernière chose à faire est d'ajouter une ligne à cron pour que la machine Linux exécute périodiquement le script… et puis nous sommes prêts!

Alors ouvrez le cron:

pi @ pi1: ~ $ sudo nano / etc / crontab

et vers la fin, ajoutez la ligne suivante:

* / 3 * * * *     pi       /home/pi/autoprint.sh

Si vous utilisez un Raspberry Pi, vous pouvez laisser le bit "pi" tel quel, sinon vous devrez mettre le compte utilisateur sous lequel vous souhaitez l'exécuter. Vous devrez probablement également ajuster le chemin pour pointer vers l'emplacement de votre script … sinon, il ne s'exécutera pas.

Le * / 3 au début signifie que le script s'exécutera toutes les 3 minutes.

Alors maintenant, avec un peu de chance, vous devriez pouvoir accéder au dossier partagé sur le Raspberry pi (ou à la machine Linux que vous avez utilisée), déposer un PDF dans le dossier «à imprimer» et après quelques minutes, l'imprimante devrait commencer à faire son truc.

o /

#gagnant

Si vous avez des questions ou des commentaires, veuillez les laisser dans les commentaires 🙂

Edit: vous pouvez accéder à CUPS sur votre imprimante en visitant http: // ipofyourpiserver: 631

Commentaires

Laisser un commentaire

Votre commentaire sera révisé par les administrateurs si besoin.