poppler (software)
{{Short description|PDF rendering engine}}
{{Use dmy dates|date=January 2021}}
{{Infobox software
| name = Poppler
| logo = Poppler logotype.svg
| developer = freedesktop.org
| released = {{start date and age|2005|03|04|df=y}}{{#tag:ref|This file-modification date appears on the version 0.1.1 tarball, the "first real release", according to Poppler's release history.{{cite web
| url = https://poppler.freedesktop.org/releases.html
| title = Poppler Releases
| access-date = 2020-12-07}}|group="nb"}}
| genre = Library
| license = GPLv2 or GPLv3{{cite web
| url = https://cgit.freedesktop.org/poppler/poppler/tree/README-XPDF?id=e3225a0543d1e6fbc269094ca192879816296993
| title = Poppler README-XPDF
| access-date = 2015-09-26}}
| website = {{official URL}}
| latest release version = {{wikidata|property|edit|reference|P348}}
| latest release date = {{start date and age|{{wikidata|qualifier|P348|P577}}}}
| operating_system = Linux, Unix, BSD, Windows
| programming_language = C++
}}
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, it powers the PDF viewers of the GNOME and KDE desktop environments.
History
The project was started by Kristian Høgsberg with two goals:{{cite web|url=http://cgit.freedesktop.org/poppler/poppler/tree/README|title=Poppler README file|access-date=2010-01-21|archive-url=https://archive.today/20120708175702/http://cgit.freedesktop.org/poppler/poppler/tree/README|archive-date=2012-07-08|url-status=dead}} 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,{{cite web |url= https://www.fsf.org/blogs/community/gnu-pdf-project-leaves-high-priority-projects-list-mission-complete |title= GNU PDF project leaves FSF High Priority Projects list; mission complete! |date= October 6, 2011| access-date= 2011-10-11 }} the PDF format standard, and was the first major free PDF library to support its forms (only Acroforms but not full XFA forms){{citation |url=https://bugs.freedesktop.org/show_bug.cgi?id=18935 |title=Bug 18935 - Form data is not saved for PDF files using XFA forms, will show old values when opened in acroread / Adobe Reader |date=2008-12-07}}{{citation |url=https://bugs.launchpad.net/ubuntu/+source/poppler/+bug/321720 |title=PDF v1.7 asks to upgrade Adobe Reader |date=2009-01-27}} and annotations features.
Poppler is a fork of Xpdf-3.0, a PDF file viewer developed by Derek Noonburg of Glyph and Cog, LLC.{{cite web | url=https://poppler.freedesktop.org | title=Poppler Homepage | access-date=2015-01-03}}
The name Poppler comes from "The Problem with Popplers," an episode of the animated series Futurama.
Applications
Notable free software applications using Poppler to render PDF documents include:{{cite web|url=https://freedesktop.org/wiki/Software/poppler|title=Poppler Wiki. Information about Poppler|access-date=2010-01-21}}
class="wikitable" |
Application
! GUI widgets |
---|
Evince
| GLib |
GIMP
| GTK |
Inkscape
| GTK |
LibreOffice 4.x
| GTK{{cite web|url=https://wiki.documentfoundation.org/ReleaseNotes/4.2|title=LibreOffice 4.2 ReleaseNotes|work=documentfoundation.org}} |
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.{{cite web|url=https://www.mail-archive.com/poppler@lists.freedesktop.org/msg02641.html|title=Re: [poppler] Qt4 Arthur|author=Albert Astals Cid|date=15 May 2009|work=mail-archive.com}} 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,{{cite web|url=https://github.com/giddie/poppler-cairo-backend|title=giddie/poppler-cairo-backend|work=GitHub|date=8 December 2021 }} but the Poppler project does not currently wish to integrate the feature into the library proper.{{cite web|url=https://bugs.freedesktop.org/show_bug.cgi?id=25240|title=Bug 25240 – Cairo backend for Qt4 wrapper|work=freedesktop.org}}
Some characteristics of the back-ends include:
- 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 other platforms like Wayland, Windows or macOS.
- Splash: Supports minification filtering of bitmaps.
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.
{{cite web|url=https://www.linuxjournal.com/video/searching-pdf-files-grep|title=Searching PDF Files With grep|access-date=2010-01-21}}
Example:
pdftotext file.pdf - | grep string
Poppler partially supports annotations and Acroforms. It does not support JavaScript{{cite web |url=https://gitlab.freedesktop.org/poppler/poppler/issues/162 |title=Support JavaScript (#162) |author=Albert Astals Cid |date=Feb 8, 2008 |website=GitLab |access-date=October 3, 2018}} nor the rendering of full XFA forms.
poppler-utils
poppler-utils is a collection of command-line utilities built on Poppler's library API, to manage PDF and extract contents:
- pdfattach – add a new embedded file (attachment) to an existing PDF
- pdfdetach – extract embedded documents from a PDF
- pdffonts – lists the fonts used in a PDF
- pdfimages – extract all embedded images at native resolution from a PDF
- pdfinfo – list all information of a PDF
- pdfseparate – extract single pages from a PDF
- pdftocairo – convert single pages from a PDF to vector or bitmap formats using cairo
- pdftohtml – convert PDF to HTML format retaining formatting
- pdftoppm – convert a PDF page to a bitmap
- pdftops – convert PDF to printable PS format
- pdftotext – extract all text from PDF
- pdfunite – merges several PDFs
See also
{{Portal|Free and open-source software}}
- List of PDF software
- iText – another free and open-source PDF library
- MuPDF – a free and open-source rendering engine for PDF, XPS, and EPUB
Notes
{{Reflist|group=nb}}
References
{{Reflist|30em}}
{{Refbegin}}
- Albert Astals Cid (29 August 2005) [https://conference2005.kde.org/slides/poppler/index.html The Poppler Library], presentation at the 2005 KDE conference
{{Refend}}
External links
- {{Official website}}
- [https://web.archive.org/web/20121226003427/http://doc.qt.digia.com/qq/qq27-poppler.html Qt Quarterly: Poppler: Displaying PDF Files with Qt]
- [https://blog.alivate.com.au/poppler-windows/ Poppler Utils 0.68.0 compiled for x86 Windows]
{{Freedesktop.org}}
Category:Free software programmed in C++