2009-09-01 7 views
6

J'ai une imprimante de reçus thermiques Star TSP600 attachée à mon macbook via USB. Les pilotes sont installés et je peux imprimer en utilisant la boîte de dialogue d'impression Mac normale.Impression sur une imprimante USB avec Python sur un Mac

Comment puis-je construire un programme pour envoyer du texte à l'imprimante? Existe-t-il un guide pour les interfaces d'impression de base? Je travaille généralement en Python, et je serais prêt à apprendre une autre langue si cela convient à la tâche. Juste à la recherche de l'exemple de base "Hello World" pour décoller.

Répondre

5

Jetez un coup d'œil au CUPS command line options.

Ensuite, vous pouvez utiliser popen pour envoyer du texte à l'imprimante.

#!/usr/bin/env python 
import popen2 
popen2.popen4("lpr -P [printer] " + output_file) 
+6

Juste au cas où quelqu'un est aux prises avec cela, voici la commande spécifique que je devais utiliser: de/usr/bin/lp médias = Custom.12x100mm /tmp/label.pdf – Bemmu

+1

séquences d'utilisation dans popen: popen2 .popen2 (["lpr", "-P", printermame, nom de fichier]); pas de raison d'utiliser popen4 si vous n'utilisez pas stderr, etc. De nos jours, vous devriez utiliser subprocess au lieu de popen; Vous pouvez également utiliser stdin pour les données: à partir du sous-processus import Popen, PIPE; p = Popen ([... arguments ...], stdin = PIPE); p.stdin.write (filedata); p.communicate() –

+0

@Bemmu Merci beaucoup pour votre commentaire! M'a sauvé beaucoup de temps. –