Python3 Tkinter日历APP:TXT转PDF内容未更新问题求助
TXT转PDF内容不更新问题的修复方案
问题核心是全局pdf对象未重置:当前pdf实例在函数外初始化,第一次生成PDF后,对象内留存了旧内容;再次调用PDFCreate()时,新内容会追加在旧内容之后,最终PDF呈现新旧内容叠加的效果,看起来像是沿用了旧内容。
修复代码方案
将pdf对象的初始化逻辑移至函数内部,每次生成PDF时创建全新实例,确保读取的都是TXT文件的最新内容:
# function to create pdf def PDFCreate(): # 每次调用都初始化新的PDF对象,彻底清空旧内容 pdf = FPDF() pdf.add_page() # 必须添加页面,否则无法写入内容 pdf.set_font("Impact", size=15) with open("FoundTasks.txt", "r", encoding='utf-8') as PDFTasks: content = PDFTasks.read() pdf.multi_cell(0, 10, txt=content, align='C') pdf.output("Tasks.pdf")
补充说明
如果代码中原本存在全局的pdf定义(比如pdf = FPDF()),请删除该行全局代码,避免对象冲突。修改后,每次点击转换按钮都会重新读取TXT最新内容,并生成全新的PDF文件。
内容的提问来源于stack exchange,提问作者petros evangelidis
相关产品推荐
相关产品推荐

