#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)