我是TKinter的新手,似乎无法找到关于如何在窗口中查看文档的任何示例。我试图完成的是当选择PDF或TIF时,它将打开文件并使用TKinter在窗口中显示第一页。这可能吗?查看文档TKinter
0
A
回答
1
不,不可能在Tkinter窗口中显示TIF或PDF。您的主要选项是显示纯文本,并显示图像(如果您包含PIL - python图像库,则为普通Tkinter,其他格式为.gif)。
1
没有什么是不可能的我的朋友!
尝试使用以下代码片段: http://nedbatchelder.com/blog/200712/extracting_jpgs_from_pdfs.html 将PDF转换为图像。 然后,我会使用PIL和Tkinter在标签上显示图像。
我认为Tif文件应该显示在没有问题IIRC的标签上。
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)
相关问题
- 1. ipad的文档查看器
- 2. Plone文档查看器wildcard.foldercontents
- 3. Google文档查看器
- 4. 查看swfaddress-optimizer.js的文档?
- 5. 文档查看器控件?
- 6. 文档查看器控件
- 7. Plone和文档查看器
- 8. 在线文档查看器
- 9. Google文档PDF查看器
- 10. python 3 - tkinter - ttk treeview:查看列文本
- 11. Tkinter图像查看器
- 12. Tkinter帮助查看器
- 13. 在文档查看器中查看以BLOB数据类型存储的文档?
- 14. .docx和xlsx文件未在Google文档查看器中查看
- 15. 打开并查看文档文件URL
- 16. 使用Couchbase查看文档的子集查看
- 17. 使用Google文档查看器打开文档(.doc,.pdf) - C#
- 18. 查看和编辑文档,无需将文档上传到OneDrive
- 19. 在文档查看器中显示XPS文档
- 20. 打印文档和滚动查看器
- 21. WPF文档查看器分页
- 22. WPF文档查看器样式
- 23. Google文档查看器网址参数
- 24. 查看asp.net中的文档内容
- 25. WPF和XPS:空文档查看器
- 26. WPF文档查看器导出为PDF
- 27. 强制php查看文档根
- 28. 无法查看生成的文档
- 29. 谷歌文档查看器不工作
- 30. WPF文档查看器更新问题