Hubbry Logo
EvinceEvinceMain
Open search
Evince
Community hub
Evince
logo
8 pages, 0 posts
0 subscribers
Be the first to start a discussion here.
Be the first to start a discussion here.
Evince
Evince
from Wikipedia

Evince
Other namesGNOME Document Viewer
DeveloperThe Evince Team[1]
Stable release
48.1 Edit this on Wikidata / 29 June 2025; 3 months ago (29 June 2025)
Repository
Written inPrimarily C, C++
Operating systemLinux and other Unix-like systems
SuccessorGNOME Papers
TypeDocument viewer
LicenseGPL-2.0-or-later
Websitewiki.gnome.org/Apps/Evince

Evince (/ˈɛvɪns/), also known as GNOME Document Viewer, is a free and open-source document viewer supporting many document file formats including PDF, PostScript, DjVu, TIFF, XPS and DVI. It is designed for the GNOME desktop environment.[2]

The developers of Evince intended to replace the multiple GNOME document viewers with a single and simple application. The Evince motto sums up the project aim: "Simply a Document Viewer".[2]

GNOME releases have included Evince since GNOME 2.12 (September 2005). Evince's code is written mainly in C, with a small part (specifically, the interface with Poppler) written in C++. Many Linux distributions that ship GNOME as their default desktop environment — including Ubuntu and Fedora Linux — include or have included Evince as the default document viewer.

Evince is free and open-source software subject to the requirements of the GNU General Public License version 2 or later.

The Evince FAQ highlights the meaning of the word "Evince" as "to show or express something clearly".[3]

In 2025, Evince will be replaced as the default document viewer in GNOME by a GTK 4 & Libadwaita hard fork of itself called Papers.[4]

History

[edit]

Evince began as a rewrite of GPdf,[5] which its support programmers had started to find unwieldy to maintain. Evince quickly surpassed the functionality of GPdf and replaced both GPdf and GGV in the September 2005 release of GNOME 2.12.[6][7]

There was at one time a Windows version of Evince and it was then included on the VALO-CD, a collection of "Best of Free and Open Source Software for Windows".[8][9][10]

Ubuntu 25.04 (with their release of GNOME 48) was the first distro to replace Evince with a GTK 4 & Libadwaita hard fork of itself called Papers.[11] In GNOME 49, Evince will be replaced as the default document viewer by upstream GNOME developers by Papers.[12][4][13][14] Joey Sneddon of OMG! Ubuntu suggested that the reason that the GNOME developers made a new document viewer application was that it would take a lot of work for Evince, a 20 year old program at the time of the decision, to be ported over to GTK 4 & Libadwaita, hence why a new application hard forked from Evince's codebase was made rather than continuing to rework Evince proper was made. This was similar to why Gedit, Eye of GNOME, and Cheese were replaced by GNOME Text Editor, Loupe, and Snapshot respectively rather than port the existing applications over to GTK 4 and Libadwaita.[15]

Features

[edit]

Evince incorporates an integrated search that displays the number of results found and highlights the results on the page. Users can optionally display (in the left sidebar of the viewer) thumbnails of pages to assist in page navigation within a document. When documents support indices, Evince gives the option of showing the document index for quickly moving from one section to another.[16]

Evince can show two pages at a time, left and right, and offers full-screen and slide-show views.

Evince allows the selection of text in PDF files and allows users to highlight and copy text from documents made from scanned images, if the PDF includes OCR data.

Evince used to obey the DRM restrictions of PDF files, which may prevent copying, printing, or converting some PDF files, however this has been made optional, and turned off by default in gconf.[17][18][19][20]

Since version 3.18.2, Evince allows for text and highlight annotations of documents.[21]

Supported document formats

[edit]

Evince supports many different single and multi-page document formats:[22]

Built-in support
Optional support
Possible or planned support
Not supported

See also

[edit]

References

[edit]
[edit]
Revisions and contributorsEdit on WikipediaRead on Wikipedia
from Grokipedia
Evince is a free and open-source document viewer designed for , supporting multiple file formats including PDF, , , TIFF, DVI, XPS, and comic book archives such as CBR, CBZ, CB7, and CBT. Developed as part of project, Evince aims to consolidate various document viewing capabilities into a single, lightweight application, replacing the fragmented set of specialized viewers previously available on desktop. It features a simple, intuitive interface that allows users to view, search, annotate, and highlight content within documents, with additional support for SyncTeX integration to synchronize positions between source files and compiled outputs when used alongside editors like gedit. Evince was the default document viewer in many Linux distributions, including Ubuntu and openSUSE, emphasizing accessibility and performance with seamless navigation, zooming, and text selection across its supported formats without requiring separate applications. In 2025, it was succeeded by Papers as the default GNOME document viewer.

Introduction

Overview

Evince is a free and open-source document viewer designed for desktop environment, providing a unified interface for viewing and interacting with various document formats. It serves as a core application in the ecosystem, emphasizing simplicity and accessibility for users handling everyday documents like PDFs and images. Developed to streamline the desktop's document handling, Evince was created to replace multiple legacy viewers, such as ggv for files and gpdf for PDFs, consolidating their functionalities into one cohesive tool. This approach reduces redundancy and offers a consistent experience across supported formats, enhancing usability without the need for separate applications. As of November 2025, the latest stable release is version 48.1, issued on June 30, 2025. While Evince has been succeeded by Papers as the default viewer in 49, the project remains actively maintained for ongoing compatibility and updates. It is distributed under the GNU General Public License version 2.0 or later (GPL-2.0-or-later), ensuring its openness and community-driven development.

Design Philosophy

Evince's design philosophy centers on its guiding motto, "Simply a Document Viewer," which underscores a commitment to by prioritizing essential viewing functions over extraneous capabilities. This principle drives the development of a streamlined application that avoids feature bloat, ensuring users can access and read documents without distraction or complexity. By focusing solely on viewing, Evince maintains a lightweight footprint, making it efficient for everyday use on resource-constrained systems. A key aspect of this philosophy is the use of a modular backend system, which allows support for diverse document formats like PDF, , and through pluggable components without encumbering the core application. This architecture, facilitated by the libevdocument library, enables extensibility by permitting third-party developers to create and integrate backends independently, promoting and broad compatibility while preserving the application's simplicity. The design also emphasizes accessibility and adherence to GNOME's usability standards, integrating seamlessly with the to provide an intuitive experience for users of varying technical expertise. This user-centric approach ensures fast loading times and responsive navigation, aligning with GNOME's broader goals of . By deliberately excluding advanced editing features, Evince reinforces its role as a dedicated viewer, preventing that could compromise performance or usability. This rationale keeps the application focused and reliable, distinguishing it from more comprehensive tools and allowing it to serve as a foundational component in ecosystem.

History

Origins and Early Development

Development of Evince began around 2003–2004 as a of the existing PDF viewer, GPdf, to address its bugs and limitations that made further improvements impractical. The primary motivation was to consolidate the fragmented landscape of GNOME document viewers, including GPdf for PDF files, GGV for , and others, into a single unified application leveraging shared backends for multiple formats. This initiative aimed to streamline document handling within the while maintaining simplicity and extensibility. In late December 2004, following the resignation of GPdf's original maintainer, a small team of developers forked the project to urgently restore robust PDF viewing capabilities ahead of upcoming releases. Owen Taylor, a key early contributor, initiated the by importing the underlying code from GPdf into the new repository on December 21, 2004. The project was brought under the umbrella from the outset, with initial development focused on core rendering functionality for PDF and documents. Early prototypes emerged rapidly from this , undergoing internal testing to refine stability and integration with components before availability. These pre-release efforts prioritized a clean codebase and basic multi-format support, setting the stage for broader adoption without delving into advanced user features at that time. The first version, 0.1.0, was released on January 8, 2005, marking the transition from internal prototyping to community involvement.

Integration into GNOME and Key Releases

Evince was officially integrated into the GNOME desktop environment with the release of GNOME 2.12 in September 2005, where it debuted as the default document viewer, consolidating and replacing separate applications for PDF and PostScript files such as GPdf and GGV to streamline document handling in the desktop. Subsequent key releases marked significant enhancements to Evince's functionality and performance. In the GNOME 3.18 series (September 2015), Evince introduced improved annotation interfaces, enabling users to add text and highlight notes directly within documents, alongside support for inline multimedia display such as embedded video and audio. Support for additional formats, including XML Paper Specification (XPS), was incorporated during the GNOME 3.x era to broaden compatibility with Microsoft-originated documents. Performance optimizations continued into later versions, with refinements in rendering efficiency and resource usage appearing in releases aligned with GNOME 40 (March 2021) and beyond, such as better handling of large files and smoother navigation in multi-page documents up to version 46 in 2024. Evince saw widespread adoption as the standard document viewer in major distributions featuring , including since version 6.06 (2006), as part of its default installation, and in its stable repositories. A Windows port of Evince was once available and included in the VALO-CD distribution of for Windows, though this effort has since been discontinued with no active maintenance beyond 2012. Key milestones in Evince's evolution included its transition to the GTK3 toolkit with the GNOME 3.0 release in April 2011, which modernized the user interface and improved integration with contemporary desktop features like theming and input handling. Accessibility enhancements were progressively added across releases, such as better support and keyboard navigation refinements in versions through the GNOME 40+ series, ensuring compliance with standards like AT-SPI for users with disabilities.

Recent Developments and Transition

In June 2025, Evince released version 48.1, a minor update focused on bug fixes and compatibility enhancements. This release addressed potential heap overflows in page allocation, refined monitor confinement for specific versions, corrected caret color rendering in dark mode, and ensured annotation popup windows remained opaque. It also aligned the shell previewer's application ID with its desktop file for better integration. A significant transition occurred with the release of 49 on September 17, 2025, which introduced Papers as a hard of Evince, rewritten in using GTK4 and Libadwaita to deliver improved performance and a modernized user interface. This shift addressed Evince's reliance on the aging GTK3 framework, which had led to mounting maintenance challenges, including difficulties in incorporating major updates and porting to newer toolkits. The aimed to enable faster rendering and navigation while preserving core functionality from Evince's codebase. Following the replacement, Evince remains available as an optional package in environments and various distributions, allowing users to continue using it alongside or instead of Papers where preferred. This ensures for legacy setups without disrupting the ecosystem's evolution toward more efficient viewing solutions.

Features

Viewing and Navigation Capabilities

Evince provides several viewing modes to accommodate different user preferences and types. In single-page mode, the default layout displays one page at a time, filling the window height or width as selected via the zoom options. Dual-page mode arranges two pages side-by-side, simulating a book-like spread, which is accessible through the View menu or by selecting "Dual" from the zoom dropdown. Continuous scroll mode enables seamless vertical scrolling across all pages, toggled via View > Continuous, allowing users to treat the as a single long canvas rather than discrete pages. Full-screen mode, activated by pressing F11, hides all interface elements for an immersive reading experience, while presentation mode (F5) advances pages manually, ideal for slideshows and supporting features like blanking the screen with W or B keys. Navigation in Evince is facilitated through intuitive tools integrated into the interface. The side pane, toggled with F9 or the sidebar , offers thumbnails for quick page previews or a page index for jumping to specific pages by clicking; users can switch between thumbnails and document structure (like ) using the dropdown in the pane header. Search functionality, invoked via Ctrl+F or the icon, performs real-time text matching with visual highlighting of results on the page, supporting case-sensitive and whole-word options via right-click menu, and between matches using previous/next arrows. Zoom controls include preset levels (e.g., Fit Page, Fit Width) from the top-right dropdown, keyboard shortcuts (Ctrl + +/-), or mouse wheel with Ctrl for precise adjustment. Rotation is available clockwise or counterclockwise through View > Rotate or Ctrl + ] / [, adjusting page orientation without altering the file. As a GNOME-native application, Evince integrates seamlessly with for enhanced and output. History mimics web browsers, allowing users to go back (Alt + P) or forward (Alt + N) through viewed pages, locations, or links, with optional toolbar buttons for visual access. is handled directly via Ctrl+P or the , leveraging the GNOME printing dialog to select printers, adjust settings like orientation, and preview output before sending to a physical or virtual device. Accessibility is supported through GTK's framework, enabling high-contrast mode via GNOME's system-wide themes for better visibility in low-light conditions or for users with visual impairments. compatibility is provided via AT-SPI integration, allowing tools like to announce page changes, read selected text, and describe interface elements during navigation.

Annotation and Interaction Tools

Evince provides robust tools for interacting with documents, enabling users to select and manipulate text across . Text selection allows users to highlight portions of text for to the , facilitating easy transfer of content to other applications. This feature handles variations in how document formats store text versus display it, though it may occasionally result in formatting discrepancies during . Highlighting as an tool was introduced in version 3.18.2, allowing persistent markup of selected text. Annotation capabilities in Evince focus primarily on PDF documents, supporting the addition of , underlines, strikethroughs, squiggly lines, and text notes (comments) to mark up content. Users activate the toolbar via the document menu, then select the desired type—such as highlighting a passage or adding a pop-up note—and apply it to specific text or areas. These annotations can be customized for color and style on a per- basis, though default settings like yellow apply initially. Once added, annotations are embedded directly into the PDF and persist across sessions when the file is saved as a copy. To save, users select File > Save As, choosing a new filename and location, which embeds all annotations into the output PDF without altering the original. For handling digital rights management (DRM) in restricted PDFs, such as those with or copying disabled, Evince includes an optional override mechanism. By default, recent versions of Evince ignore PDF restrictions, allowing operations like and text extraction even on protected files. Additional interaction tools enhance usability, including bookmarking for quick and export options for annotated documents. Bookmarking lets users add named markers to specific pages via the side pane, creating a hierarchical list stored as file metadata for reuse in future openings. These bookmarks support renaming and deletion, aiding in organizing long documents. Exporting annotated PDFs occurs through the Save As function, which incorporates all markup into a new file; while direct text export of highlights is not built-in, annotations remain accessible in the saved PDF for viewing in compatible readers. Search integration complements these by locating text across pages, though full find-and-replace is not supported natively. As of GNOME 49 in September 2025, Evince's role as the default viewer has transitioned to Papers, a modernized , but Evince continues to be maintained for existing installations.

Technical Architecture

Backend System

Evince employs the libdocument library as the foundational component for its core document model and backend management, enabling a unified interface for handling diverse document types across the application. This library encapsulates essential functionalities such as document loading, page representation, and rendering contexts, allowing the viewer to abstract away format-specific complexities while maintaining a consistent for the frontend. The backend architecture is designed with modularity in mind, featuring separate modules tailored to individual document formats to ensure efficient processing and extensibility. For instance, the PDF backend leverages the Poppler library to interpret and render PDF files, while the backend utilizes libspectre for vector-based rendering, and the backend relies on djvulibre for handling compressed image-based documents. These modules interface with libdocument to provide format-agnostic operations, promoting code reusability and ease of adding new format support. Backends are responsible for loading documents by parsing the file structure and constructing an in-memory representation, followed by rendering individual pages into visual outputs using for operations. They also extract and manage metadata, such as information, page counts, and permissions, through dedicated interfaces in libdocument like ev-document-info. Additionally, backends facilitate advanced features including thumbnail generation for previews and text search capabilities by indexing content during loading, ensuring responsive user interactions without redundant processing. The evolution of Evince's backends began with initial implementations in C, focusing on core formats like PDF and to establish a lightweight viewer. Over time, the system transitioned toward a plugin-like structure for greater extensibility, allowing third-party contributions and reducing the core codebase's bloat while preserving backward compatibility.

Dependencies and Portability

Evince relies on several core libraries for its functionality, primarily the GTK4 toolkit (version 4.6 or later) for the , GLib (version 2.75 or later) for core utilities and data structures, and Poppler for rendering PDF documents. Additional format-specific dependencies include libtiff for TIFF image support. These libraries ensure compatibility with 's while enabling multi-format document handling. Building Evince from source requires the Meson build system and Ninja as the backend, along with gettext for handling internationalization and localization. Developers must also install development headers for the core dependencies, such as those from GTK4, GLib, and Poppler, to compile successfully across supported environments. Evince is natively supported on Linux distributions through GNOME integration and on BSD systems like FreeBSD, NetBSD, and OpenBSD via their respective ports collections. Windows ports exist through Cygwin for POSIX compatibility and MinGW/MSYS2 for native compilation, and continue to be maintained as of 2025. For broader cross-platform distribution, Evince is available as a Flatpak on Flathub and as a Snap package, facilitating deployment on various Linux systems without deep integration. In 49 (released September 17, 2025), Evince was ported to GTK4 and libadwaita, aligning with modern applications. Although Papers, a GTK4-based with a modernized , replaced Evince as the default document viewer, Evince remains available and actively maintained.

Supported Document Formats

Core Supported Formats

Evince provides robust support for several core document formats through its integrated backends, ensuring seamless viewing without requiring external plugins or additional installations in standard distributions. These formats are handled natively by the application's modular architecture, leveraging libraries that are typically bundled with Evince packages. The primary format is Portable Document Format (PDF), rendered via the Poppler backend. This enables full-featured support, including high-fidelity rendering of text, images, and vector graphics, as well as built-in search functionality and annotation capabilities such as highlighting and note addition. Poppler, a fork of the xpdf library, supports PDF standards from 1.0 to 2.0 (ISO 32000), including features like embedded fonts and encryption handling. PostScript (PS) and Encapsulated PostScript (EPS) files are supported through the libspectre library, which interprets Adobe's vector-based page description language. This backend excels in displaying complex vector graphics, multi-page layouts, and printer-specific instructions, making it suitable for professional printing previews and archival documents. Libspectre provides lightweight, dependency-minimal rendering compared to full Ghostscript implementations. DjVu format (.djvu and .djv extensions) is managed by the DjVuLibre backend, optimized for compressed representations of scanned documents. It combines wavelet compression for images with separate layers for foreground text and background, allowing efficient storage of high-resolution pages while preserving selectable text for search and copy operations. This format is particularly effective for large book scans, offering file sizes significantly smaller than PDF equivalents without loss of detail. Device Independent (DVI) files, output from and typesetting systems, are handled via the kpathsea library from TeX distributions like . This backend supports multi-page academic and technical documents, rendering mathematical equations, bibliographies, and structured layouts common in . DVI's device-agnostic nature ensures consistent output across resolutions, with Evince providing tools for lengthy theses or reports. As of November 2025, Evince retains support for all listed formats, including DVI, which was dropped in its successor Papers upon 's adoption in version 49. Finally, Tagged Image File Format (TIFF) support is implemented through a dedicated internal backend, accommodating multi-page image sequences often used in archiving and scanning workflows. It handles both and color images with , enabling straightforward viewing of sequential scans or technical drawings without conversion. This format's flexibility supports various bit depths and resolutions, making it ideal for image-heavy documents.

Optional and Emerging Formats

Evince provides support for Microsoft's XML Paper Specification (XPS) format through the optional libgxps library, which enables rendering of these fixed-layout documents as an additional backend. Comic book archives, consisting of image sequences stored in archive files, are supported in CBR (RAR-compressed), CBZ (ZIP-compressed), CBT (TAR-compressed), and CB7 (7z-compressed) formats via the libarchive library, allowing sequential viewing of pages like a digital flipbook. This backend has been integrated since Evince version 42, requiring libarchive for archive extraction and handling. Evince lacks native support for ePub ebooks or formats such as DOCX or PPTX, necessitating conversion to core formats like PDF for viewing. As of GNOME 49 (September 2025), Papers replaced Evince as the default document viewer in , though Evince continues to be maintained for its supported formats. In major distributions, optional backends are enabled by installing corresponding libraries: on , libgxps2 provides XPS support while libarchive13 handles ; on , the evince-xps subpackage activates XPS alongside libarchive for ; on , libgxps and libarchive are automatically pulled as runtime dependencies when relevant formats are encountered.

References

Add your contribution
Related Hubs
User Avatar
No comments yet.