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

你有什么建议吗?

编辑:注意,我不需要花哨的功能,如pdf形式,操纵或写作。

有帮助吗?

解决方案

事实证明,较新版本的poppler-glib不需要绑定。他们用Gobject IntroStpente文件运送,因此可以导入并使用如下:

#!/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())
.

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

请注意,如果想要导入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()
.

其他提示

这篇文章表示,最新的开发版本(我猜的是3.4不久)支持通过pygobject嵌入嵌入,这可能为您的目的工作。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top