我有一个画布,我想将其存储为PDF。我以以下方式创建画布:
from tkinter import *
root = Tk()
root.geometry('1920x1200')
canvas = Canvas(master=root, width=1920, height=1200, bg='white')
canvas.place(x=0, y=0)
canvas.pack(expand=YES, fill=BOTH)
image = ImageTk.PhotoImage(file=picture_path)
canvas.create_image(0, 0, image=image, anchor=NW)
canvas.bind("<Button-1>", getorigin)
canvas.after(10000, add_line, canvas)
root.mainloop()
使用create_image,我只是将背景图像设置到画布上。 add_line方法正在画布中绘制一些东西(create_line)。绘图完成后,我尝试通过以下方式创建PDF:
canvas.update()
canvas.postscript(file="tmp.ps", colormode="color")
process = subprocess.Popen(["ps2pdf", "tmp.ps", "result.pdf"], shell=True)
process.wait()
os.remove("tmp.ps")
已成功创建PDF,但仅捕获了画布的一部分。看起来画布存储在1200x1920而不是1920x1200中。
我该如何解决?