Автоматический принтер в Python

#python-3.x

#python-3.x

Вопрос:

У меня есть небольшой проект. У меня проблемы с печатью. Я хочу, чтобы при нажатии кнопки печати принтер печатал. Не выполняйте Printreview. И код:

 import os
from tkinter import *
import tkinter as tk
from PIL import ImageTk, Image

window = tk.Tk()
window.title("Auto printer")
window.geometry('500x400')

def close_window (): 
   window.destroy() 

def auto_print():
   os.startfile("F:/test2.png", "print")

path='F:/test.png'
img = ImageTk.PhotoImage(Image.open(path))
panel = tk.Label(window, image=img)
panel.pack(side="left", fill="both", expand="yes")

frm_buttons = tk.Frame()
frm_buttons.pack(fill=tk.X, ipadx=5, ipady=5)

btn_close = tk.Button(master=frm_buttons, text="CLOSE", command = close_window)
btn_close.pack(side=tk.RIGHT, padx=10, ipadx=10)

tn_print = tk.Button(master=frm_buttons, text="PRINT", command = auto_print)
btn_print.pack(side=tk.RIGHT, ipadx=10)

window.mainloop()
 

Спасибо!

Комментарии:

1. Можете ли вы уточнить свой вопрос? Я думаю, вы хотите сказать, что выполнение os.startfile("F:/test2.png", "print") результатов в файле, открываемом в режиме предварительного просмотра, и то, что вы действительно хотите, — это распечатать файл. Вы хотите, чтобы файл был напечатан на консоли или непосредственно на подключенном системном принтере?

2. Чем это возможно, 66, я хочу распечатать файл непосредственно на подключенном системном принтере

Ответ №1:

и я нашел этот пост http://timgolden.me.uk/python/win32_how_do_i/print.html . Я исправил это, все в порядке. Но я не понимаю синтаксиса win32api.ShellExecute ( 0, "printto", filename, '"%s"' % win32print.GetDefaultPrinter (), ".", 0)

код:

 def auto_print():
   filename = "F:/test.png"
   win32api.ShellExecute (  0,  "printto",  filename,  '"%s"' % win32print.GetDefaultPrinter (),  ".",  0)