Poppler (software)
history| latest_release_version = 0.12.3 | latest_release_date = | latest_preview_version = 0.13.0 | latest_preview_date = | operating_system = Linux, Unix, BSD, Windows | programming_language = C++ | website = »poppler.freedesktop.org | license = GPL v2 | genre = Library }}
In computing, Poppler (or libpoppler) is a free software library used to render PDF documents. It is used by the PDF viewers of the open source GNOME and KDE desktop environments, and its development is supported by freedesktop.org.
The project was started by Kristian Høgsberg with two goals in mind:
- To provide PDF rendering functionality as a shared library, in order to centralize maintenance effort
- To go beyond the goals of Xpdf, and integrate with functionality provided by modern operating systems
Poppler itself is a fork of the Xpdf-3.0 PDF viewer developed by Derek Noonburg of Glyph and Cog, LLC.
The name "Poppler" comes from the animated series Futurama episode The Problem with Popplers.
A number of free software applications use Poppler to render PDF documents
{| class="wikitable" ,|- ,! Application ,! External Links ,! Graphical Toolkit
,|- ,! Evince ,| »homepage ,| GTK+
,|- ,! Okular ,| »homepage ,| Qt
,|- ,! kde pdf kfile plugin ,| »homepage ,| Qt
,|-
,! PopplerKit
,| »homepage
,| GNUstepCocoa
,|-
,! Vindaloo
,| [http://svn.gna.org/viewcvs/gsimageapps/trunk/Applications/Vindaloo
,|- ,! ePDFView ,| »homepage ,| GTK+
,|- ,! TeXworks ,| »homepage ,| Qt
,|- ,! LocoPDF ,| »homepage ,| none
,|- ,! pdftotext ,| poppler utils ,| none
,|}
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»http://www.mail-archive.com/poppler@lists.freedesktop.org/msg02641.html. Bindings exist for Glib, Qt3, and Qt4, that provide interfaces to the Poppler backends, although the Qt3 and Qt4 bindings support only the Splash backend. There is a patchset available to add support for the Cairo backend to the Qt4 bindings»http://github.com/giddie/poppler-qt4-cairo-backend, but the Poppler project does not currently wish to integrate the feature into the library proper»https://bugs.freedesktop.org/show_bug.cgi?id=25240.
Some characteristics of the backends are as follows
- Cairo. Anti-aliasing of vector graphics, and transparent objects. Cairo does not smooth bitmap images such as scanned documents. Cairo does not depend on the X Window System, so Poppler can run on platforms which do not use an X server, such as Windows or Mac OS.
- Splash. Supports minification filtering of bitmaps.
Poppler comes with a text rendering backend 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.
Example:
As of version 0.9.0, Poppler supports interactive documents using Javascript.
- Full annotation support. There is no "add annotation" feature; currently, only editing of existing annotations is possible. The Evince application has discussed this topic.»Evince - Annotations»Evince - Roadmap
- Form-editing support (in preview release). Support to save filled PDF forms to a file.
General references
- Albert Astals Cid (29 August 2005) »The Poppler Library, presentation at the 2005 KDE conference