1

私は TKinter を初めて使用し、ウィンドウでドキュメントを表示する方法の例を見つけることができないようです。私が達成しようとしているのは、PDF または TIF を選択すると、ファイルが開き、TKinter を使用してウィンドウに最初のページが表示されることです。これは可能ですか?

4

4 に答える 4

1

この質問が投稿されてから長い時間が経ちましたが、まだ解決策を探している人のために、私が見つけたものを次に示します。

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

基本的に、MuPDF の python バインディングである PyMuPDF を使用します。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)
于 2017-01-02T08:13:59.067 に答える