3 votes

Comment envoyer un texte ASCII à une imprimante (via USB) ?

J'ai une imprimante thermique (chinoise bon marché) avec une connexion USB et des pilotes Windows et Linux. J'ai d'abord testé l'installation du pilote Linux PPD avec Gutenprint et usbtb sans succès.

J'aimerais donc pouvoir envoyer du texte seul directement à l'imprimante. Je ne vois aucun périphérique virtuel sous /dev/ qui semble correspondre à l'imprimante.

La sortie de System Information ressemble à ceci :

Generic Bulk Device:

  Product ID:   0x5011
  Vendor ID:    0x0416  (Winbond Electronics Corp.)
  Version:   3.00
  Serial Number:    1234567890
  Speed:    Up to 12 Mb/sec
  Manufacturer: Generic
  Location ID:  0x14100000 / 1
  Current Available (mA):   500
  Current Required (mA):    100
  1284 Device ID:   print00

Existe-t-il un moyen d'envoyer du texte (ASCII) à l'imprimante ?

Lorsque Mac OS X tente d'identifier l'imprimante, il parvient à envoyer du code PostScript que l'imprimante restitue mot pour mot, de sorte qu'au moins certaines parties de la communication avec l'imprimante fonctionnent. Si seulement je pouvais éviter d'envoyer du code PostScript et envoyer du texte ordinaire à la place.

Receipt with printed PostScript code

0 votes

Utilisez-vous un terminal ?

0 votes

@Buscar Eh bien, j'utilise iTerm2 mais le problème est que lp ne me donne pas un accès brut à l'imprimante ou usbtb mais utilise juste les pilotes d'imprimante existants. Je suppose qu'un pilote d'imprimante en mode texte suffirait pour mes besoins mais je n'en ai pas trouvé.

1 votes

Si vous ne parvenez pas à configurer une imprimante via l'interface habituelle du Finder, vous pouvez essayer d'accéder à l'interface web de CUPS à l'adresse suivante : http://localhost:631/

6voto

moonhouse Points 231

J'ai réussi à installer un pilote d'imprimante brut et à l'imprimer à partir de la ligne de commande.

En utilisant l'interface web de CUPS/Gutenprint à l'adresse suivante http://localhost:631/ J'ai ajouté une imprimante avec un périphérique URI

usbtb://Generic%00%00%06/Generic%20Bulk%20Device?serial=1234567890

et sélectionné "Raw" comme marque pour l'imprimante. (Veuillez noter que le paramètre URI de la série correspond au numéro de série du périphérique USB tel qu'indiqué dans la question).

Je peux maintenant voir l'imprimante listée en lançant la commande lpstat -p -d

L'imprimante Generic_usbtb est inactive. Activée depuis le mar. 16 juillet 23:04:11 2013.

Pour imprimer le fichier texte text.txt J'écris lp -d Generic_usbtb test.txt

1 votes

Cela a marché pour moi ! Vous pouvez trouver usbtb ici (Gutenprint n'est pas nécessaire, juste usbtb) : sourceforge.net/projets/gimp-print/files - Incroyablement, il fonctionne sur OS X Yosemite, bien que la dernière version de usbtb date de 7 ans.

0 votes

N'oubliez pas de courir $ cupsctl WebInterface=yes d'abord, pour activer l'interface web de CUPS

2voto

Feuermurmel Points 1288

Théorie

Nous parlons d'un imprimante de ligne . Ce type d'imprimante accepte du texte brut et l'imprime. Elles prennent généralement en charge 255 caractères et doivent être configurées selon l'un des quelques jeux de caractères pris en charge, tels que ASCII ou CP437.

Ces imprimantes acceptent les entrées "brutes", c'est-à-dire les caractères, les espaces, les sauts de ligne, etc. Elles prennent parfois en charge les images également.

En gros, vous devrez

  1. Ajout d'une imprimante brute via CUPS (interface d'impression unix commune)
  2. Envoyer du texte brut, du PDF ou du PS à l'imprimante

Étapes

1) Activez l'administration web de CUPS

  1. Ouvrir un Terminal
  2. Entrez la commande $ sudo cupsctl WebInterface=yes

Cela permettra d'activer une fonction qui vous permet d'ajouter et de supprimer des imprimantes à partir du site d'administration web localhost de CUPS.

2) Trouver l'adresse de l'imprimante

Si c'est une imprimante locale :

  1. Exécutez la commande $ lpinfo -v | grep usb

Vous obtiendrez une réponse qui ressemble à ceci :

direct usb:///80Series%20Receipt%20Printer%20200DPI?location=14200000

El usb:///<printer name>?location=<locationID> est l'adresse de votre imprimante sur le hub USB. Copiez ce texte.

S'il s'agit d'une imprimante réseau Il vous faut l'adresse IP et le port de cette imprimante. L'adresse complète sera :

socket://<ip address>:<port>

Par exemple :

socket://192.168.1.12:9100

3) Ajouter une imprimante

  1. Allez à votre Page d'administration de CUPS ( http://localhost:631 )

  2. Cliquez sur Administration

  3. Cliquez sur Ajouter une imprimante

  4. Cliquez sur AppSocket/HP JetDirect (Ne cliquez pas sur votre imprimante existante si elle apparaît), cliquez sur Continuer

  5. Collez l'adresse de votre imprimante à partir de Étape 2 en el Connexion entrée, cliquez Continuer

  6. Donnez un nom et une description à l'imprimante, puis cliquez sur Continuer

  7. Sélectionnez Brut en el Faire et cliquez sur Continuer . Si vous avez beaucoup de chance, vous verrez peut-être votre fabricant ici. Bonne chance.

  8. Sélectionnez Raw Queue (fr) en el Modèle et cliquez sur Ajouter une imprimante

  9. Sélectionnez les options de l'imprimante. Pour Raw Queue (fr) vous verrez un Bannière de départ y Bannière de fin . Vous voudrez probablement sélectionner Aucun pour les deux.

4) Connectez la nouvelle imprimante aux Préférences Système de MacOS

  1. Cliquez sur Administration
  2. Cliquez sur Ajouter une classe
  3. Remplissez le formulaire. Le site Nom sera le nom lisible par l'homme que vous souhaitez voir apparaître dans le champ Imprimantes et scanners section de Préférences du système .
  4. Sélectionnez l'imprimante que vous venez d'ajouter dans Membres et cliquez sur Ajouter une classe
  5. Votre imprimante devrait maintenant apparaître dans votre Imprimantes et scanners
  6. (facultatif) - désactivez l'administration web de CUPS en lançant la commande $ sudo sudo cupsctl WebInterface=no dans votre Terminal

5) Trouvez votre imprimante

  1. Dans votre Terminal, lancez la commande $ lpstat -p . Vous obtiendrez la liste de vos imprimantes

    printer HP_LaserJet_200_color_M251nw_0200B9 is idle. enabled since Tue Jan 15 00:24:06 2019 printer PDF_Printer is idle. enabled since Sat Jan 11 14:00:23 2020 printer rongta is idle. enabled since Sun Jan 10 14:37:44 2021 printer Rongta_80mm_Thermal_Printer is idle. enabled since Sun Jan 10 14:42:19 2021

Dans mon cas, j'ai un Rongta_80mm_Thermal_Printer

6) Imprimer

Ok, ici votre kilométrage peut varier.

  1. À partir de votre terminal, lancez la commande $ lp -d <printer_name> file.txt pour imprimer file.txt à l'imprimante <printer_name> et vous obtiendrez un ID de travail d'impression en réponse.

Dans mon cas, j'ai émis :

$ echo "hello" > file.txt
$ lp -d Rongta_80mm_Thermal_Printer file.txt
request id is rongta-61 (1 file(s))

Apparemment, vous pouvez imprimer des fichiers PDF et PostScript de cette façon également, puisque le système d'impression de MacOS est censé gérer la traduction entre le système et l'imprimante.

0 votes

J'ai donc installé une imprimante comme vous l'avez décrit sous Mac OS 10.14.6 (un PC brother P-Touch 1230). Et puis à l'étape 6, il ne se passe pas grand chose. CUPS reçoit la tâche d'impression et la termine même pour les fichiers txt et pdf. Il reste bloqué pour les fichiers ps. Mais l'imprimante ne bouge pas du tout, s'éteint ou commence à faire clignoter sa LED d'état. Dans tous les cas, ce ne sont pas des réponses très souhaitables. Des idées ?

0 votes

Je pense que votre imprimante ne prend pas en charge PostScript. Vous devez être coincé avec des fichiers TXT. Peut-être pouvez-vous exporter le PS en PDF et ensuite imprimer le PDF ?

0 votes

Désolé, j'ai été ridiculement peu clair dans mon commentaire précédent. Il n'imprime jamais aucun de ces formats. C'est juste que la tâche d'impression quitte la file d'attente comme terminée pour PDF ou TXT. Elle reste bloquée pour le format PS. Dans les deux cas, l'imprimante montre des signes de réception de données (mise hors tension, LED clignotante) mais n'imprime jamais.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X