首页 > 解决方案 > 如何在 gui python 中使用自定义名称导出 pdf?

问题描述

我想为我的 pdf 文件指定一个名称,以便它会询问用户,但我无法弄清楚如何获取输入并分配给我尝试使用的路径 asksaveasfilename 但它不保存所以我需要更改为了单击导出 pdf 与自定义名称

import matplotlib.pyplot as plt
from matplotlib.backends.backend_pdf import PdfPages
#import tkintertable 
import tkinter as tk
import tkinter.filedialog
from tkinter.filedialog import asksaveasfilename

def export():
    #x1 = entry1.get()
    with PdfPages(r'C:\Users\Abdul\Desktop\chart1.pdf') as export_pdf:


        feat_importances = pd.Series(model.feature_importances_, index=X.columns)
        feat_importances.nlargest(10).plot(kind='barh')
        Filename = asksaveasfilename( title='Nmae a file', initialdir='C:\\',filetypes=(("PDF file", "*.pdf*"),))
        export_pdf.savefig()
        plt.show()
    plt.close()

button1 = tk.Button (root,text='Export PDF',command=export, bg='Blue', fg='white')
canvas1.create_window(120, 150, window=button1)




root.mainloop()

标签: pythonuser-interfacetkintersavepdf-generation

解决方案


您使用 asksaveasfilename 在正确的行上,但您需要实际使用用户输入的值来设置文件名和路径。

def export():
    Filename = asksaveasfilename(title='Name a file', initialdir='C:\\', filetypes=(("PDF file", "*.pdf*"),),
                             defaultextension='.pdf')
    with PdfPages(Filename) as export_pdf:
        feat_importances = pd.Series(model.feature_importances_, index=X.columns)
        feat_importances.nlargest(10).plot(kind='barh')

        export_pdf.savefig()
        plt.show()
    plt.close()

推荐阅读