使用python3显示PDF文件

Fab*_*nze 10 pygtk pdf-reader pygobject python-3.x pdf-rendering

我想写一个显示PDF文件的python3/PyGTK3应用程序,我无法找到允许我这样做的python包.
pypoppler,但它看起来过时(?)并且似乎不支持python3(?)

你有什么建议吗?

编辑:注意,我不需要花哨的功能,如PDF格式,操纵或写作.

Fab*_*nze 12

事实证明,较新版本的poppler-glib不需要绑定.它们附带GObject Introspection文件,因此可以按如下方式导入和使用:

#!/usr/bin/python3

from gi.repository import Poppler

document = Poppler.Document.new_from_file("file:///home/me/some.pdf", None)
print(document.get_pdf_version_string())
Run Code Online (Sandbox Code Playgroud)

这很容易,不是吗?花了我几个小时才发现......

请注意,如果想要导入GTK,至少需要poppler-0.18.

这是另一个带GUI的最小例子:

#!/usr/bin/python3

from gi.repository import Poppler, Gtk

def draw(widget, surface):
    page.render(surface)

document = Poppler.Document.new_from_file("file:///home/me/some.pdf", None)
page = document.get_page(0)

window = Gtk.Window(title="Hello World")
window.connect("delete-event", Gtk.main_quit)
window.connect("draw", draw)
window.set_app_paintable(True)

window.show_all()
Gtk.main()
Run Code Online (Sandbox Code Playgroud)