¿Cómo imprimir una copia impresa usando Tkinter?

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.

Publicación traducida automáticamente

Artículo escrito por abhigoya y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *