Python 在使用tkinter的语言翻译代码中,如何将输出保存为pdf格式?
我正在使用tkinter使用以下代码制作语言翻译应用程序:Python 在使用tkinter的语言翻译代码中,如何将输出保存为pdf格式?,python,tkinter,Python,Tkinter,我正在使用tkinter使用以下代码制作语言翻译应用程序: import tkinter as tk from tkinter import * from tkinter import ttk from tkinter.ttk import * from googletrans import LANGUAGES import translate root = tk.Tk() src_text = Text(root, font="arial 10", height=11,
import tkinter as tk
from tkinter import *
from tkinter import ttk
from tkinter.ttk import *
from googletrans import LANGUAGES
import translate
root = tk.Tk()
src_text = Text(root, font="arial 10", height=11, wrap=WORD, padx=5, pady=5, width=60)
src_text.place(x=50, y=120)
des_text = Text(root, font="arial 10", height=11, wrap=WORD, padx=5, pady=5, width=60)
des_text.place(x=600, y=120)
class Lang_Translator(Frame):
def __init__(self, master=None):
super().__init__(master)
self.pack()
self.label()
src_text = Text(root)
des_text = Text(root)
def label(self):
Label(root, text="Language Translator", font="italic 20").pack(side="top")
Label(root, text="Select Language", font="arial 15").place(x=30, y=60)
Label(root, text="Select Language", font="arial 15").place(x=600, y=60)
lang = list(LANGUAGES.values())
src_lang = ttk.Combobox(root, values=lang, width=30)
src_lang.place(x=200, y=63)
src_lang.set("english")
des_lang = ttk.Combobox(root, values=lang, width=30)
des_lang.place(x=770, y=63)
des_lang.set("hindi")
def trans():
translator2 = translate.Translator(to_lang=des_lang.get())
translated = translator2.translate(src_text.get(0.0, END))
des_text.insert(0.0, translated)
def clear_all():
des_text.delete(0.0, END)
src_text.delete(0.0, END)
button_1 = Button(root, text="Translate", command=trans).place(x=510, y=160)
button_2 = Button(root, text="Clear", command=clear_all).place(x=510, y=220)
app = Lang_Translator(master=root)
app.master.title('Translator')
app.master.geometry('1080x350')
app.mainloop()
如何将输出(翻译的语言)保存为pdf文件
我尝试使用fpdf包制作一个单独的函数来保存pdf
def savepdf():
pdf = FPDF()
pdf.add_page()
pdf.set_font("Arial", size=15)
pdf.cell(200, 10, txt="Language Translator", ln=1, align='C')
pdf.cell(10, 200, txt=str(), ln=2, align='L')
pdf.output("Translated.pdf")
并尝试使用trans()
函数中的translated
变量
def trans():
translator2 = translate.Translator(to_lang=des_lang.get())
translated = translator2.translate(src_text.get(0.0, END))
des_text.insert(0.0, translated)
但我被困在如何做到这一点。那么如何使用此函数将输出保存为pdf?
translated
是trans()
中的一个局部变量,不能在其他地方访问。但是,您可以使用des_text.get(1.0,“end-1c”)
代替:
def save_pdf():
pdf=FPDF()
pdf.add_page()
pdf.set_字体(“Arial”,大小=15)
单元格(200,10,txt=“语言翻译程序”,ln=1,align=“C”)
单元格(10200,txt=des_text.get(1.0,“end-1c”),ln=2,align=“L”)
pdf.output(“translated.pdf”)