Как добавить ссылку и аннотации в PDF с Python и библиотеку evince - PullRequest
0 голосов
/ 30 сентября 2019

Я делаю pdf-редактор в python, повторно используя библиотеки evince и Gtk.

Я хотел бы добавить ссылку одним щелчком, но я не знаю, как преобразовать позицию курсора, полученную изсобытие click для позиции и страницы в документе pdf.

Я также хотел бы добавить аннотации (например, выделение), это должно быть реализовано в evince, но я не знаю, как импортировать эту функциюв Python.

Я использую библиотеку Evince:

import gi
gi.require_version("Gtk", "3.0")
from gi.repository import Gtk, Gio, GLib
from gi.repository import EvinceDocument
from gi.repository import EvinceView
from gi.repository import Gdk

Я сделал окно GTK class PdfWindow(Gtk.ApplicationWindow), где я определил документ evince и необходимые окна:

self.scroll = Gtk.ScrolledWindow()
self.add(self.scroll)
EvinceDocument.init()
self.open_file("file.pdf")
self.doc = EvinceDocument.Document.factory_get_document("file://file.pdf")
self.view = EvinceView.View()
model = EvinceView.DocumentModel()
model.set_document(self.doc)
self.model = model
self.view.set_model(self.model)
self.view.connect('external-link', self.__handle_link_cb)
self.view.connect('event', self.click_event_cb)

Позиция курсора, которую я получаю в click_event_cb, который обрабатывает событие click, - это позиция в окне, а не позиция x, y в pdf. Не знаю, как интегрировать аннотации, как они есть в приложении evince. кто-нибудь может помочь?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...