Poppler (software)

Last updated

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

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

Contents

The project was started by Kristian Høgsberg with two goals: [4] 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, [3] the PDF format standard, and was the first major free PDF library to support its forms (only Acroforms but not full XFA forms) [5] [6] and annotations features. [3]

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

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

Applications

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

Application GUI widgets
Evince GTK
Inkscape GTK
LibreOffice 4.x GTK [9]
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. [10] 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, [11] but the Poppler project does not currently wish to integrate the feature into the library proper. [12]

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. [13]

Example:

pdftotextfile.pdf-|grepstring 

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

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">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. It was founded by Havoc Pennington, a GNOME developer working for Red Hat in March 2000. Some of the project's servers are hosted by Portland State University, sponsored by Hewlett-Packard, Intel, and Google.

<span class="mw-page-title-main">Konsole</span> Terminal emulator

Konsole is a free and open-source terminal emulator graphical application which is part of KDE Applications and ships with the KDE desktop environment. Konsole was originally written by Lars Doelle. It ls licensed under the GPL-2.0-or-later and the GNU Free Documentation License.

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 back ends. Cairo uses hardware acceleration when available.

<span class="mw-page-title-main">Evince</span> Free software 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.

pdftotext is an open-source command-line utility for converting PDF files to plain text files—i.e. extracting text data from PDF-encapsulated files. It is freely available and included by default with many Linux distributions, and is also available for Windows as part of the Xpdf Windows port. Such text extraction is complicated as PDF files are internally built on page drawing primitives, meaning the boundaries between words and paragraphs often must be inferred based on their position on the page.

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 software PDF reader 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.

PoDoFo is a software library and tools to work with the PDF file format. The name comes from the first two letters of each word in PDF's spelled-out form.

<span class="mw-page-title-main">PDF.js</span> PDF viewer in JavaScript included in Mozilla Firefox

PDF.js is a JavaScript library that renders Portable Document Format (PDF) files using the web standards-compliant HTML5 Canvas. The project is led by the Mozilla Corporation after Andreas Gal launched it in 2011.

mpv (media player) Free and open-source media player software

mpv is free and open-source media player software based on MPlayer, mplayer2 and FFmpeg. It runs on several operating systems, including Unix-like operating systems and Microsoft Windows, along with having an Android port called mpv-android. It is cross-platform, running on ARM, PowerPC, x86/IA-32, x86-64, and MIPS architecture.

<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 is designed specifically as a system interface for TrueOS, and systems derived from Berkeley Software Distribution (BSD) in general, but has been ported to various Linux distributions.

References

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