2011-11-25 30 views
8

Per un progetto su cui sto lavorando, devo essere in grado di scrivere su un file di testo e quindi inviarlo alla stampante. Sono abbastanza nuovo alla programmazione (1,5 anni) e nel mio tempo non ho mai avuto bisogno di farlo.Come stampare un file su carta in Python 3 su Windows XP/7?

Quindi, la mia domanda è: come posso inviare il file alla stampante? (Ovviamente so come scrivere sul file in primo luogo). Ho bisogno che il programma funzioni su Windows XP e Windows 7, mi sono imbattuto in qualcosa chiamato lpr online ma non riesco a trovare nulla di sostanziale, e questo sembra essere correlato ai sistemi operativi basati su UNIX.

Ho la sensazione che potrei aver bisogno di usare os.system() da qualche parte ma non sono sicuro di come andrei su questo.

risposta

6

Un approccio semplice è quello di avere il Blocco note stampare il file di testo:

import subprocess 
subprocess.call(['notepad', '/p', filename]) 
4

Ho fatto questo molto tempo fa, quindi non ricordo le specifiche, ma riguardava il passare attraverso un'estensione win32 per Python per chiamare l'API di Windows relativa alla stampa.

Si possono anche prendere in considerazione opzioni come la generazione di un file pdf.

Si possono trovare i seguenti link utili: