This site has been retired. For up to date information, see handbook.gnome.org or gitlab.gnome.org.


[Home] [TitleIndex] [WordIndex

1. GSoC proposal

1.1. Abstract

Currently, support for adding annotations is very limited in Evince whereby only text annotations can be added. However according to the PDF specification version 1.7, there are 15 more markup annotation types including Line, Highlight, Circle etc. In addition, there are 27 bugs regarding displaying and adding different annotation types in GNOME Bugzilla. The goal of this project is to improve the annotation support of Evince document viewer.

1.2. Proposal

1.2.1. What is the ultimate goal of your proposal?

PDF annotations are the objects such as text or shape that are associated with a position in the page. Currently, displaying and adding different kind of annotations is a limited feature in Evince. There are many open bug reports regarding annotations. The ultimate goal of this project is to add support of many annotations types in Evince and fix as many bugs as possible in GNOME Bugzilla so that all (or almost all) types of annotations can be added and displayed in Evince thereby the need for other PDF readers is reduced. Moreover, PDF form widgets and highlighting support are very related to the annotation support since all are actually annotations from the PDF specification point of view. Therefore, if I have more time, I can also help on subjects such as forms and highlighting support.

1.2.2. What components/modules will the proposed work modify or create?

First of all, poppler-glib frontend which Evince heavily depends on, lacks many types of annotations. Currently, there is an attempt to fix that however it is incomplete and there are 18 bugs in Freedesktop/Poppler bugzilla regarding annotations. Secondly, on the Evince side, both shell (ev-sidebar-annotations.c, ev-annotation-properties-dialog.c), libview (ev-annotation-window.c) and libdocument (ev-annotation.c, ev-document-annotation.c) components will be modified. However, since I am not yet familiar with the entire evince codebase, I cannot name all the modules files need to be changed.

1.2.3. What benefits does your proposed work have for GNOME and its community?

I believe that the full support for PDF specification and therefore diminishing the need for other (possibly proprietary) PDF viewers is a very big step forward for GNOME and free software community. Implementation of annotation handling is a part of this objective and needs to be addressed. Enhancing annotation support in Evince will get us closer to this achievement. In addition, Evince project is looking for more contributors since there is a lack of developers. It would be great to support development of Evince project in this sense.

1.3. Schedule with dates and important milestones/deliverables

May 4 – June 17 (Before coding time):

June 17 - August 2 (Coding period before midterm)

August 2 - September 27 (Coding after midterm)

1.4. What will be showable at mid-term?

Adding/displaying/editing/deleting text annotations will be flawless on both poppler-glib and evince side.


2024-10-23 11:28