2013-04-26 138 views
0

我是TKinter的新手,似乎无法找到关于如何在窗口中查看文档的任何示例。我试图完成的是当选择PDF或TIF时,它将打开文件并使用TKinter在窗口中显示第一页。这可能吗?查看文档TKinter

回答

1

不,不可能在Tkinter窗口中显示TIF或PDF。您的主要选项是显示纯文本,并显示图像(如果您包含PIL - python图像库,则为普通Tkinter,其他格式为.gif)。

1

很长一段时间已经过去了,因为这个问题被张贴,但是,对于那些还在寻找一个解决方案,这里有一个我发现:

https://github.com/rk700/PyMuPDF/wiki/Demo:-GUI-script-to-display-a-PDF-using-wxPython-or-Tkinter

基本上,它使用PyMuPDF,对于Python绑定MuPDF。 MuPDF是一个轻量级的文档查看器,能够显示几种文件格式,例如pdf和epub。

我引用用于使用TKinter代码:

这个演示可以很容易地采用Tkinter的。你需要进口

from Tkinter import Tk, Canvas, Frame, BOTH, NW 
from PIL import Image, ImageTk 

并执行以下操作来显示每个PDF页面图像:

#----------------------------------------------------------------- 
# MuPDF code 
#----------------------------------------------------------------- 
pix = doc.getPagePixmap(pno - 1)  # create pixmap for a page 

#----------------------------------------------------------------- 
# Tkinter code 
#----------------------------------------------------------------- 
self.img = Image.frombytes("RGBA", 
         [pix.width, pix.height], 
         str(pix.samples)) 
self.photo = ImageTk.PhotoImage(self.img) 
canvas = Canvas(self, width=self.img.size[0]+20, 
      height=self.img.size[1]+20) 
canvas.create_image(10, 10, anchor=NW, image=self.photo) 
canvas.pack(fill=BOTH, expand=1)