Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/read_pdf_index.py
diff options
context:
space:
mode:
Diffstat (limited to 'read_pdf_index.py')
-rw-r--r--read_pdf_index.py42
1 files changed, 42 insertions, 0 deletions
diff --git a/read_pdf_index.py b/read_pdf_index.py
new file mode 100644
index 0000000..b14f057
--- /dev/null
+++ b/read_pdf_index.py
@@ -0,0 +1,42 @@
+from gi.repository import Gtk
+from gi.repository import EvinceDocument
+from gi.repository import EvinceView
+
+EvinceDocument.init()
+
+doc = EvinceDocument.Document.factory_get_document('file:///home/gonzalo/Desktop/Libros/La_gran_manzana.pdf')
+
+def job_finished_cb(job):
+ model = job.get_model()
+ _iter = model.get_iter_first()
+ while True:
+ value = model.get_value(_iter, 0)
+ print value, model.get_value(_iter, 1)
+ _iter = model.iter_next(_iter)
+ if _iter is None:
+ break
+
+view = EvinceView.View()
+
+model = EvinceView.DocumentModel()
+model.set_document(doc)
+view.set_model(model)
+
+if not doc.has_document_links():
+ print 'The pdf file does not have a index'
+else:
+ jl = EvinceView.JobLinks.new(document=doc)
+ jl.connect('finished', job_finished_cb)
+ EvinceView.Job.scheduler_push_job(jl, EvinceView.JobPriority.PRIORITY_NONE)
+
+win = Gtk.Window()
+scrolled = Gtk.ScrolledWindow()
+win.add(scrolled)
+scrolled.add_with_viewport(view)
+
+win.set_default_geometry(200, 300)
+win.connect("destroy", Gtk.main_quit)
+
+win.show_all()
+Gtk.main()
+