Poppler (software)

Last updated

Poppler
Developer(s) freedesktop.org
Initial release4 March 2005;19 years ago (2005-03-04) [nb 1]
Stable release
24.07.0 [2]   OOjs UI icon edit-ltr-progressive.svg / 1 July 2024;52 days ago (1 July 2024) [1]
Repository
Written in C++
Operating system Linux, Unix, BSD, Windows
Type Library
License GPLv2 or GPLv3 [3]
Website poppler.freedesktop.org OOjs UI icon edit-ltr-progressive.svg

Poppler is a free and open-source software library for rendering Portable Document Format (PDF) documents. Its development is supported by freedesktop.org. Commonly used on Linux systems, [4] it powers the PDF viewers of the GNOME and KDE desktop environments.

Contents

History

The project was started by Kristian Høgsberg with two goals: [5] to provide PDF rendering functionality as a shared library, to centralize maintenance effort and to go beyond the goals of Xpdf, and to integrate with functionality provided by modern operating systems.

By the version 0.18 release in 2011, the poppler library represented a complete implementation of ISO 32000-1, [4] the PDF format standard, and was the first major free PDF library to support its forms (only Acroforms but not full XFA forms) [6] [7] and annotations features. [4]

Poppler is a fork of Xpdf-3.0, a PDF file viewer developed by Derek Noonburg of Glyph and Cog, LLC. [5] [8]

The name Poppler comes from the animated series Futurama episode "The Problem with Popplers." [8]

Applications

Notable free software applications using Poppler to render PDF documents include: [9]

Application GUI widgets
Evince GTK
Inkscape GTK
LibreOffice 4.x GTK [10]
Okular Qt
pdftotext, pdftohtml, etc.none
TeXstudio Qt
TeXworks Qt
xpopple Motif
Zathura GTK

Features

Poppler can use two back-ends for drawing PDF documents, Cairo and Splash. Its features may depend on which back-end it employs. A third back-end based on Qt4's painting framework "Arthur", is available, but is incomplete and no longer under active development. [11] Bindings exist for Glib and Qt5, that provide interfaces to the Poppler backends, although the Qt5 bindings support only the Splash and Arthur backends. There is a patchset available to add support for the Cairo backend to the Qt5 bindings, [12] but the Poppler project does not currently wish to integrate the feature into the library proper. [13]

Some characteristics of the back-ends include:

Poppler comes with a text-rendering back-end as well, which can be invoked from the command line utility pdftotext. It is useful for searching for strings in PDFs from the command line, using the utility grep , for instance. [14]

Example:

pdftotextfile.pdf-|grepstring 

Poppler partially supports annotations and Acroforms. It does not support JavaScript [15] nor the rendering of full XFA forms. [6]

poppler-utils

poppler-utils is a collection of command-line utilities built on Poppler's library API, to manage PDF and extract contents:

See also

Notes

  1. This file-modification date appears on the version 0.1.1 tarball, the "first real release", according to Poppler's release history. [1]

Related Research Articles

<span class="mw-page-title-main">Konqueror</span> Web browser and file manager

Konqueror is a free and open-source web browser and file manager that provides web access and file-viewer functionality for file systems. It forms a core part of the KDE Software Compilation. Developed by volunteers, Konqueror can run on most Unix-like operating systems. The KDE community licenses and distributes Konqueror under GNU GPL-2.0-or-later.

<span class="mw-page-title-main">PDF</span> Portable Document Format, a digital file format

Portable Document Format (PDF), standardized as ISO 32000, is a file format developed by Adobe in 1992 to present documents, including text formatting and images, in a manner independent of application software, hardware, and operating systems. Based on the PostScript language, each PDF file encapsulates a complete description of a fixed-layout flat document, including the text, fonts, vector graphics, raster images and other information needed to display it. PDF has its roots in "The Camelot Project" initiated by Adobe co-founder John Warnock in 1991. PDF was standardized as ISO 32000 in 2008. The last edition as ISO 32000-2:2020 was published in December 2020.

<span class="mw-page-title-main">KHTML</span> Discontinued web browser engine

KHTML is a discontinued browser engine that was developed by the KDE project. It originated as the engine of the Konqueror browser in the late 1990s, but active development ceased in 2016. It was officially discontinued in 2023.

<span class="mw-page-title-main">KDevelop</span> Integrated development environment

KDevelop is a free and open-source integrated development environment (IDE) for Unix-like computer operating systems and Windows. It provides editing, navigation and debugging features for several programming languages, and integration with build automation and version-control systems, using a plugin-based architecture.

freedesktop.org (fd.o), formerly X Desktop Group (XDG), is a project to work on interoperability and shared base technology for free-software desktop environments for the X Window System (X11) and Wayland on Linux and other Unix-like operating systems. Although freedesktop.org produces specifications for interoperability, it is not a formal standards body.

<span class="mw-page-title-main">PyQt</span> Python GUI library

PyQt is a Python binding of the cross-platform GUI toolkit Qt, implemented as a Python plug-in. PyQt is free software developed by the British firm Riverbank Computing. It is available under similar terms to Qt versions older than 4.5; this means a variety of licenses including GNU General Public License (GPL) and commercial license, but not the GNU Lesser General Public License (LGPL). PyQt supports Microsoft Windows as well as various kinds of UNIX, including Linux and MacOS.

XFA stands for XML Forms Architecture, a family of proprietary XML specifications that was suggested and developed by JetForm to enhance the processing of web forms. It can be also used in PDF files starting with the PDF 1.5 specification. The XFA specification is referenced as an external specification necessary for full application of the ISO 32000-1 specification. The XML Forms Architecture was not standardized as an ISO standard, and has been deprecated in PDF 2.0.

Cairo (graphics) Vector graphics-based software library

Cairo is an open-source graphics library that provides a vector graphics-based, device-independent API for software developers. It provides primitives for two-dimensional drawing across a number of different backends. Cairo uses hardware acceleration when available.

<span class="mw-page-title-main">Evince</span> Free and open-source document viewer

Evince, 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.

<span class="mw-page-title-main">Xpdf</span>

Xpdf is a free and open-source PDF viewer and toolkit based on the Qt framework. Versions prior to 4.00 were written for the X Window System and Motif.

<span class="mw-page-title-main">KDE Software Compilation 4</span> Software

KDE Software Compilation 4 was the only series of the so-called KDE Software Compilation, first released in January 2008 and the last release being 4.14.3 released in November 2014. It was the follow-up to K Desktop Environment 3. Following KDE SC 4, the compilation was broken up into basic framework libraries, desktop environment and applications, which are termed KDE Frameworks 5, KDE Plasma 5 and KDE Applications, respectively.

pdfimages is an open-source command-line utility for lossless extraction of images from PDF files, including JPEG2000 and JBIG2 format when used with option -all. It is freely available as part of poppler-utils and xpdf-utils, and included in many Linux distributions.

PDF/A is an ISO-standardized version of the Portable Document Format (PDF) specialized for use in the archiving and long-term preservation of electronic documents. PDF/A differs from PDF by prohibiting features unsuitable for long-term archiving, such as font linking and encryption. The ISO requirements for PDF/A file viewers include color management guidelines, support for embedded fonts, and a user interface for reading embedded annotations.

SWFTools is an open source software tool suite for creating and manipulating SWF files. Distributed under the terms of the GPL-2.0-or-later, it may be compiled from C source, to run under Linux, Microsoft Windows, and Apple OS X. On Microsoft Windows systems, the pre-compiled installer also installs a GUI wrapper for the suite's PDF to SWF conversion tool, pdf2swf.

<span class="mw-page-title-main">Sumatra PDF</span> Free and open-source document viewer for Windows

Sumatra PDF is a free and open-source document viewer that supports many document formats including: Portable Document Format (PDF), Microsoft Compiled HTML Help (CHM), DjVu, EPUB, FictionBook (FB2), MOBI, PRC, Open XML Paper Specification, and Comic Book Archive file. If Ghostscript is installed, it supports PostScript files. It is developed exclusively for Microsoft Windows.

<span class="mw-page-title-main">Okular</span> Document viewer by KDE

Okular is a multiplatform document viewer developed by the KDE community and based on Qt and KDE Frameworks libraries. It is distributed as part of the KDE Applications bundle. Its origins are from KPDF and it replaces KPDF, KGhostView, KFax, KFaxview and KDVI in KDE 4. Its functionality can be embedded in other applications.

<span class="mw-page-title-main">Wayland (protocol)</span> Display system intended to replace X11

Wayland is a communication protocol that specifies the communication between a display server and its clients, as well as a C library implementation of that protocol. A display server using the Wayland protocol is called a Wayland compositor, because it additionally performs the task of a compositing window manager.

<span class="mw-page-title-main">MuPDF</span> Rendering engine for PDF, XPS, and EPUB

MuPDF is a free and open-source software framework written in C that implements a PDF, XPS, and EPUB parsing and rendering engine. It is used primarily to render pages into bitmaps, but also provides support for other operations such as searching and listing the table of contents and hyperlinks.

<span class="mw-page-title-main">Lumina (desktop environment)</span> Desktop environment for X Window System

Lumina Desktop Environment, or simply Lumina, is a plugin-based desktop environment for Unix and Unix-like operating systems. It was designed specifically as a system interface for TrueOS and systems derived from Berkeley Software Distribution (BSD) in general, but it has been ported to various Linux distributions.

References

  1. 1 2 "Poppler Releases" . Retrieved 7 December 2020.
  2. "poppler-24.07.0". 1 July 2024. Retrieved 8 July 2024.
  3. "Poppler README-XPDF" . Retrieved 26 September 2015.
  4. 1 2 3 "GNU PDF project leaves FSF High Priority Projects list; mission complete!". 6 October 2011. Retrieved 11 October 2011.
  5. 1 2 "Poppler README file". Archived from the original on 8 July 2012. Retrieved 21 January 2010.
  6. 1 2 Bug 18935 - Form data is not saved for PDF files using XFA forms, will show old values when opened in acroread / Adobe Reader, 7 December 2008
  7. PDF v1.7 asks to upgrade Adobe Reader, 27 January 2009
  8. 1 2 "Poppler Homepage" . Retrieved 3 January 2015.
  9. 1 2 3 "Poppler Wiki. Information about Poppler" . Retrieved 21 January 2010.
  10. "LibreOffice 4.2 ReleaseNotes". documentfoundation.org.
  11. Albert Astals Cid (15 May 2009). "Re: [poppler] Qt4 Arthur". mail-archive.com.
  12. "giddie/poppler-cairo-backend". GitHub. 8 December 2021.
  13. "Bug 25240 – Cairo backend for Qt4 wrapper". freedesktop.org.
  14. "Searching PDF Files With grep" . Retrieved 21 January 2010.
  15. Albert Astals Cid (8 February 2008). "Support JavaScript (#162)". GitLab. Retrieved 3 October 2018.