Ну, это сложная проблема, которая зависит от взаимодействия с операционной системой.(Извините, не смог устоять!)
Решение «холст к постскриптуму» работает только для объектов, нарисованных на холсте - оно не обрабатывает встроенные окна.Есть библиотеки, которые могут конвертировать холст в PDF, но у меня нет опыта работы с ними, и я не знаю, обрабатывают ли они встроенные окна или нет (наверное, нет).
Существует pdflib, которая является коммерческой библиотекой C, которая может быть интегрирована с python и tcl (и, следовательно, Tkinter).У меня нет опыта работы с библиотекой, и я предполагаю, что она, вероятно, также не поддерживает встроенные окна.Я думаю, что это более примитивно - давать вам команды для создания страниц, верхних и нижних колонтитулов и т. Д.
Это определенно проблема с Tk;всегда есть, вероятно, всегда будет, так как, кажется, нет большого спроса или интереса кого-либо для решения проблемы кросс-платформенным способом.