Developer(s) | freedesktop.org |
---|---|
Initial release | 4 March 2005 [nb 1] |
Stable release | |
Repository | |
Written in | C++ |
Operating system | Linux, Unix, BSD, Windows |
Type | Library |
License | GPLv2 or GPLv3 [2] |
Website | poppler |
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.
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]
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 |
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 is a collection of command-line utilities built on Poppler's library API, to manage PDF and extract contents:
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.
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.
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.
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 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.
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.
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.
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.
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.
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.
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 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.
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.