Serveur d'impression

Comment transformer le Raspberry Pi en un serveur d’imprimante sans fil: Page 2 – Serveur d’impression

Le 3 mai 2019 - 5 minutes de lecture

Le serveur d'impression CUPS installe de nombreux outils de ligne de commande (voir Administration de CUPS plus loin dans ce guide) pour interagir avec le serveur et les imprimantes connectées.

Vous pouvez envoyer des fichiers à l'imprimante à l'aide de la commande lp, telle que: $ lp /docs/a_text_file.txt

Si vous avez plusieurs imprimantes, vous pouvez imprimer sur une imprimante spécifique en spécifiant son nom, par exemple:

$ lp /docs/another-text.txt -d EPSON_LX-300

Lorsque vous utilisez les commandes avec un fichier PDF ou image, CUPS convertit les fichiers à l'aide des pilotes d'imprimante. Vous pouvez également utiliser Python pour générer un contenu facile à imprimer.

Pour ce faire, utilisez la bibliothèque PyCups, qui fournit Python. liaisons pour le serveur CUPS. Installez la bibliothèque avec:

$ sudo apt-get installez python-cups

Créez ensuite un script example.py Python avec:

tasses d'importation
conn = cups.Connection ()
imprimantes = conn.getPrinters ()
pour imprimante dans imprimantes:
imprimeur, imprimantes[printer][« device-uri »]

Le script extrait les détails de toutes les imprimantes gérées par CUPS et affiche leur nom et l'adresse du périphérique à l'écran. Lorsque vous exécutez le script, il génère une sortie similaire à celle-ci:

EPSON_LX-300 usb: // EPSON / LX-300 +? Série = L010209081
RICOH_Aficio_SP_100 usb: // RICOH /
Aficio? Serial = T382M977983

Vous pouvez également imprimer des fichiers à partir du script Python à l'aide de la fonction printFile, en les spécifiant au format suivant:

$ printFile (nom de l’imprimante, nom du fichier à imprimer, titre du travail,
options)

Ouvrez le script example.py précédent et ajoutez-y les lignes suivantes:

fichier = "/home/pi/testfile.txt"
nom_imprimante = printers.keys ()[0]
conn.printFile (nom_imprimante, fichier, "Rapport de projet", )

La première ligne enregistre le nom du fichier que vous souhaitez imprimer dans une variable nommée fichier. La deuxième ligne récupère la liste des imprimantes et enregistre le premier nom, qui est l’imprimante par défaut dans une variable nommée nom_imprimante. La troisième ligne utilise ensuite les deux premières variables et imprime le fichier au format spécifié.

Transformez Raspberry Pi en serveur d'impression

Toutes les distributions Linux peuvent accéder aux imprimantes USB connectées au Raspberry Pi sans aucun ajustement de la distro

Conversion de HTML en PDF

Un moyen plus intéressant de convertir des pages HTML en fichier PDF consiste à utiliser le kit d'outils wkHTMLtoPDF, qui transmet le fichier PDF à l'imprimante à partir d'un script Python.

Avant de pouvoir installer le toolkit, commencez par installer les composants requis et un ensemble de polices pour traiter les pages Web:

$ sudo apt-get install xvfb xfonts-100dpi xfonts-75dpi xfonts
xfonts-cyrillic évolutif

Puis installez l'outil avec

sudo apt-get install wkhtmltopdf

avant d'installer le wrapper Python avec:

$ sudo pip install git + https: //github.com/qoda/pythonwkhtmltopdf.git

Vous pouvez maintenant utiliser ce qui suit pour convertir une page Web en un fichier PDF:

à partir de wkhtmltopdf import WKHtmlToPdf

wkhtmltopdf = WKHtmlToPdf (

url = 'http: //www.techradar.com',

fichier_sortie = '/ home / pi / docs / lxf.pdf',

)

wkhtmltopdf.render ()

Une fois exécuté, le code ci-dessus enregistre la techradar principale dans un fichier PDF sous le répertoire / home / pi / docs.

Reportez-vous à la liste ci-dessous pour voir comment toutes les pièces s'emboîtent – wkHTMLtoPDF convertit une page en PDF et l’imprime.

#! / usr / bin / env python
tasses d'importation
à partir de wkhtmltopdf import WKHtmlToPdf
wkhtmltopdf = WKHtmlToPdf (

url = 'http: //www.techradar.com',
fichier_sortie = '/ home / pi / techradar.pdf',
)
wkhtmltopdf.render ()
conn = cups.Connection ()
imprimantes = conn.getPrinters ()
pour imprimante dans imprimantes:
imprimeur, imprimantes[printer][« device-uri »]
fichier = "/ home / pi / techradar.pdf"
nom_imprimante = printers.keys ()[0]
conn.printFile (nom_imprimante, fichier, "impression PDF", )

Le script convertit d'abord la page d'accueil de techradar en un fichier PDF. Il se connecte ensuite à CUPS, imprime une liste des imprimantes connectées et configurées à l'écran et utilise l'imprimante par défaut pour imprimer le fichier PDF. La bibliothèque PyCups regorge de méthodes (https://pythonhosted.org/pycups) que vous pouvez utiliser pour contrôler tous les aspects du serveur d'impression CUPS.

Comment transformer le Raspberry Pi en un serveur d'impression sans fil

Vous devez installer et configurer Samba pour accéder aux imprimantes réseau sous Windows.

Administration de CUPS

Outre l'ajout d'imprimantes, l'interface Web CUPS permet d'accéder à divers autres paramètres utiles. Vous pouvez administrer la plupart des tâches d'impression à partir de l'onglet Administration, qui regroupe les paramètres dans différentes catégories.

Dans la section Serveur, par exemple, vous pouvez trouver des options permettant d’affiner la configuration du serveur et d’afficher divers types de journaux d’accès et d’erreurs.

En utilisant le bouton 'Gérer les imprimantes' sous la section Imprimante, vous pouvez contrôler les paramètres pour les imprimantes individuelles. Les options de chaque page de l’imprimante sont regroupées sous deux menus déroulants intitulés Maintenance et Administration. Dans le menu Maintenance, vous pouvez imprimer une page de test, une page d'autotest, nettoyer les têtes d'impression et gérer les travaux d'impression.

Pour personnaliser le comportement de l’imprimante, utilisez le menu Administration pour modifier ses options par défaut, la définir comme imprimante par défaut, restreindre l’accès des utilisateurs, modifier ses paramètres ou le supprimer complètement du serveur CUPS. Outre l'onglet Administration, il y a deux autres onglets importants que nous devrions également mentionner.

Pour commencer, vous devez passer à l'onglet Classes pour la gestion des classes d'imprimantes. Une classe est une collection de plusieurs imprimantes. Lorsque vous envoyez un travail d'impression à une classe, CUPS attribue automatiquement le travail à la prochaine imprimante disponible, au lieu d'attendre une imprimante spécifique. Ensuite, il y a l'onglet Travaux, qui vous permet d'afficher et de gérer tous les travaux d'impression actuellement dans la file d'attente.

Commentaires

Laisser un commentaire

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