
Poppler é um software livre e de código aberto, bem como uma biblioteca para a renderização de documentos em Portable Document Format (PDF). O seu desenvolvimento é apoiado pelo freedesktop.org. Amplamente utilizado em sistemas baseados em Linux, alimenta os leitores de PDF dos ambientes de trabalho GNOME e KDE.
O projeto foi iniciado por Kristian Høgsberg com dois objetivos: fornecer funcionalidade de renderização de PDF sob a forma de uma biblioteca partilhada, de modo a centralizar o esforço de manutenção, e ir além dos objetivos do Xpdf, integrando-se com funcionalidades fornecidas por sistemas operativos modernos.
Até à versão 0.18, lançada em 2011, a biblioteca Poppler representava uma implementação quase completa da norma ISO 32000-1, e foi a primeira grande biblioteca livre de PDF a suportar formulários (apenas Acroforms e não formulários XFA completos) e funcionalidades de anotações.
O Poppler é um fork do Xpdf-3.0, um visualizador de PDF desenvolvido por Derek Noonburg da Glyph and Cog, LLC.
Aplicações de software livre notáveis que utilizam o Poppler para renderizar documentos PDF incluem:
| Aplicação | Widgets GUI |
|---|---|
| Evince | GLib |
| GIMP | GTK |
| Inkscape | GTK |
| LibreOffice 4.x | GTK |
| Okular | Qt |
| pdftotext, pdftohtml, etc. | nenhum |
| TeXstudio | Qt |
| TeXworks | Qt |
| xpopple | Motif |
| Zathura | GTK |
O Poppler pode utilizar dois back-ends para desenhar documentos PDF, Cairo e Splash. As suas funcionalidades podem depender do back-end em uso. Um terceiro back-end baseado na framework de renderização do Qt4, "Arthur", está disponível, mas é incompleto e já não está em desenvolvimento ativo. Existem bindings para Glib e Qt5, que providenciam interfaces para os back-ends do Poppler, embora as bindings para Qt5 suportem apenas os back-ends Splash e Arthur. Existe um conjunto de patches disponível para adicionar suporte ao back-end Cairo nas bindings Qt5, mas o projeto Poppler atualmente não pretende integrar essa funcionalidade na biblioteca principal.
Algumas características dos back-ends incluem:
O Poppler inclui também um back-end de renderização de texto, que pode ser invocado através da utilidade de linha de comando pdftotext. É útil para pesquisar texto em ficheiros PDF a partir da linha de comandos, usando, por exemplo, a utilidade grep.
Exemplo:
pdftotext file.pdf - | grep string
O Poppler suporta parcialmente anotações e Acroforms. Não suporta JavaScript nem a renderização completa de formulários XFA.