2010-02-23 4 views
11

J'ai un script Python 3 qui va faire une certaine substitution de regex sur certains fichiers RTF (rtf) et je voudrais pouvoir imprimer les fichiers d'un répertoire entier sous Windows, Linux et Mac.Comment imprimer sur l'imprimante par défaut du système d'exploitation dans Python 3 (plateforme croisée)?

Existe-t-il un moyen d'imprimer sur l'imprimante par défaut du système d'exploitation pour qu'elle fonctionne sur toutes les plates-formes?

+0

PyQt est multi-plateforme, et pourrait être en mesure d'imprimer, même si je ne l'ai jamais utilisé moi-même, donc je ne sais pas si vous pouvez le faire sans configurer une interface graphique. –

+0

PyQt semble bon, mais je veux quelque chose qui est libre d'utiliser pour le développement commercial. PyQt ne l'est pas. – Magwich

Répondre

6

Il n'existe aucune méthode multiplateforme. Sous Linux et OS X, vous pouvez appeler lpr(1) via subprocess et CUPS va gérer la conversion de document le mieux possible, mais Windows est trickier.

+0

Donc, je suppose que je devrais d'abord détecter le système d'exploitation et ensuite appeler une section de code pour traiter avec lequel il est? – Magwich

+1

Ou simplement importer des modules appelés "winprint" ou "posixprint" comme "impression" en fonction. –

+0

Eh bien, pas "impression", mais vous obtenez l'image. –

Questions connexes