У меня есть холст, который я хотел бы сохранить в формате 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 создается успешно, но захватывается только часть холста. Похоже, что холст хранится в формате 1200х1920 вместо 1920х1200.
Как я могу это исправить?