问题描述
我正在尝试使用 pygtk/gi 和 Evince 从 pdf 中提取图像,并想出了这个:
import gi
gi.require_version("Gtk","3.0")
gi.require_version('EvinceDocument','3.0')
from gi.repository import Gtk,GdkPixbuf
from gi.repository import EvinceDocument
class MyWindow(Gtk.Window):
def __init__(self,page,num):
Gtk.Window.__init__(self,title="Hello World")
img = Gtk.Image()
pixbuf = doc.get_image(EvinceDocument.Image.new(page,num))
img.set_from_pixbuf(pixbuf)
self.add(img)
EvinceDocument.init()
pdf='file:///path/to/pdf.pdf'
doc = EvinceDocument.Document.factory_get_document(pdf)
num_pages = doc.get_info().n_pages
for page in range(num_pages):
num_images_in_page=doc.get_image_mapping(doc.get_page(page)).length()
print(page,num_images_in_page)
for num in range(num_images_in_page):
win = MyWindow(page,num)
win.connect("destroy",Gtk.main_quit)
win.show_all()
Gtk.main()
它主要是有效的。因为它会在 pdf 中找到一些图像,但不是全部,对于一些 pdf,当它找到一个图像时,它会将它显示为几个部分图像(即使用颜色条绘制一个图并将该图显示为一个图像,然后颜色条作为单独的图像)。
有没有更好的方法可以使用 Evince 在 pdf 中查找图像?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)