Я создал форму в Python, которая сохраняет выходные данные во временном файле. Все работает нормально, но я хочу, чтобы временный файл не открывался в фоновом режиме; только данные должны копироваться, отображаться и отправляться на принтер.
#==============Importing modules=============
import tempfile
import os
from tkinter import*
import tkinter.messagebox
root=Tk()
root.geometry("810x630+0+0")
root.title("Print System for Expert Travels & Tours")
root.configure(background='Cadet Blue')
MenuFrame=Frame(root,bg='Cadet Blue',bd=10,relief=RIDGE)
MenuFrame.pack()
FraTitle=Frame(MenuFrame,bg="Powder blue",bd=10,relief=RIDGE)
FraTitle.pack(side=TOP)
ReceiptCal_F=Frame(MenuFrame,bg="powder blue",bd=10,relief=RIDGE)
ReceiptCal_F.pack(side=TOP)
Butttons_F=Frame(root,bg="cadet Blue",bd=10,relief=RIDGE)
Butttons_F.pack(side=BOTTOM)
def iExit():
iExit=tkinter.messagebox.askyesno("Quit System","Do you want to quit?")
if iExit>0:
root.destroy()
return
def Reset():
Passengername_entry.delete(0,END)
Address_entry.delete(0,END)
PhoneNo_entry.delete(0,END)
def iPrint():
Passengername_info=Passengername.get()
Address_info=Address.get()
PhoneNo_info=PhoneNo.get()
PhoneNo_info=str(PhoneNo_info)
print(Passengername_info,Address_info,PhoneNo_info)
filename=tempfile.mktemp(".txt")
file=open(filename,"w")
file.write("{:^20s}".format(Passengername_info))
file.write("{:^20s}".format(Address_info))
file.write("{:^20s}".format(PhoneNo_info))
file.close()
os.startfile(filename,"Print")
Passengername_entry.delete(0,END)
Address_entry.delete(0,END)
PhoneNo_entry.delete(0,END)
Passengername_text=Label(text="Passenger Name * ",)
Address_text=Label(text="Address * ",)
PhoneNo_text=Label(text="Phone No. * ",)
Passengername_text.place(x=45,y=100)
Address_text.place(x=45,y=180)
PhoneNo_text.place(x=45,y=250)
Passengername=StringVar()
Address=StringVar()
PhoneNo=IntVar()
Passengername_entry=Entry(textvariable=Passengername,width="30")
Address_entry=Entry(textvariable=Address,width="30")
PhoneNo_entry=Entry(textvariable=PhoneNo,width="30")
Passengername_entry.place(x=45,y=120)
Address_entry.place(x=45,y=220)
PhoneNo_entry.place(x=45,y=280)
lblTitle=Label(FraTitle,width=40,bg="white",fg="Black",bd=4,font=('arial',24,'bold'),text="Receipt Printer")
lblTitle.grid(row=0,column=0)
txtReceipt=Text(ReceiptCal_F,width=84,height=24,bg="white",bd=4,font=('arial',12,'bold'))
txtReceipt.grid(row=1,column=0)
btn1=Button(Butttons_F,font=("arial",16,"bold"),width=19,text="Print",command=iPrint)
btn1.grid(row=1,column=0)
btn2=Button(Butttons_F,font=("arial",16,"bold"),width=19,text="Reset",command=Reset)
btn2.grid(row=1,column=1)
btn3=Button(Butttons_F,font=("arial",16,"bold"),width=19,text="Exit",command=iExit)
btn3.grid(row=1,column=2)
root.mainloop()
Я пробовал оба способа, один из которых создает временный файл или создает файл user.txt, но оба пути перед печатью открываются в фоновом режиме, чего я не хочу. Я простохотите взять вывод с рамки принтера и перенаправить вывод, на котором распечатаны данные пассажира.