Requisito previo: Tkinter , win32api
Python ofrece múltiples opciones para desarrollar GUI (interfaz gráfica de usuario). De todos los métodos GUI, tkinter es el método más utilizado. Es una interfaz estándar de Python para el kit de herramientas Tk GUI que se envía con Python. Python con tkinter es la forma más rápida y sencilla de crear aplicaciones GUI. Crear una GUI usando tkinter es una tarea fácil.
En este artículo, discutiremos cómo imprimir una copia impresa en la impresora usando Tkinter.
Enfoque paso a paso
- Haz una ventana de Tkinter.
- Agregar un botón.
- Abra el archivo que desea imprimir usando el método askopenfilename() en Tkinter.
- Imprímalo usando el método ShellExecute() en win32api.
Crear ventana normal de Tkinter
Python3
# Import Required Library from tkinter import * # Create Tkinter Object root = Tk() # Set Title and geometry root.title('Print Hard Copies') root.geometry("200x200") # Make Button Button(root,text="Print FIle").pack() # Execute Tkinter root.mainloop()
Producción:
Métodos utilizados
- askopenfilename: este método se utiliza para abrir un archivo determinado.
filedialog.askopenfilename(mode=’r’, filetypes=[(‘cualquier nombre que desee mostrar’, ‘extensión del tipo de archivo’)])
- ShellExecute: Se utiliza para ejecutar comandos de shell de un sistema.
win32api.ShellExecute(hwnd, dir, bShow, op, file, params, **args)
hwnd: el identificador de la ventana principal, o cero para ninguna ventana principal. Esta ventana recibe cuadros de mensajes asociados que produce una aplicación (por ejemplo, para informes de errores).
op: La operación a realizar. es también «abrir», «imprimir» o Ninguno, que por defecto es «abrir».
archivo: El nombre del archivo a abrir.
params: Los parámetros a pasar, si el nombre del archivo contiene asociados viables. debe ser Ninguno para un archivo de documento.
dir: El directorio inicial de la aplicación.
bMostrar: especifica si el dispositivo se muestra una vez que se abre. Si el parámetro lpszFile especifica un archivo de documento, este parámetro es cero.
A continuación se muestra la implementación
Python3
# Import Required Library from tkinter import * import win32api from tkinter import filedialog # Create Tkinter Object root = Tk() # Set Title and geometry root.title('Print Hard Copies') root.geometry("200x200") # Print File Function def print_file(): # Ask for file (Which you want to print) file_to_print = filedialog.askopenfilename( initialdir="/", title="Select file", filetypes=(("Text files", "*.txt"), ("all files", "*.*"))) if file_to_print: # Print Hard Copy of File win32api.ShellExecute(0, "print", file_to_print, None, ".", 0) # Make Button Button(root, text="Print FIle", command=print_file).pack() # Execute Tkinter root.mainloop()
Al ejecutar el script de python anterior, aparecerá una ventana de tkinter que requerirá cargar un archivo de texto, después de cargar, el archivo de texto se imprime.