Poppler

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,[1] alimenta os leitores de PDF dos ambientes de trabalho GNOME e KDE.
História
O projeto foi iniciado por Kristian Høgsberg com dois objetivos:[2] 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,[1] e foi a primeira grande biblioteca livre de PDF a suportar formulários (apenas Acroforms e não formulários XFA completos)[3][4] e funcionalidades de anotações.[1]
O Poppler é um fork do Xpdf-3.0, um visualizador de PDF desenvolvido por Derek Noonburg da Glyph and Cog, LLC.[5][6]
Aplicações
Aplicações de software livre notáveis que utilizam o Poppler para renderizar documentos PDF incluem:[7]
| Aplicação | Widgets GUI |
|---|---|
| Evince | GLib |
| GIMP | GTK |
| Inkscape | GTK |
| LibreOffice 4.x | GTK[8] |
| Okular | Qt |
| pdftotext, pdftohtml, etc. | nenhum |
| TeXstudio | Qt |
| TeXworks | Qt |
| xpopple | Motif |
| Zathura | GTK |
Funcionalidades
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.[9] 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,[10] mas o projeto Poppler atualmente não pretende integrar essa funcionalidade na biblioteca principal.[11]
Algumas características dos back-ends incluem:
- Cairo: anti-aliasing de gráficos vetoriais e objetos transparentes.[7]
- O Cairo não suaviza imagens rasterizadas (bitmap), como documentos digitalizados.
- O Cairo não depende do X Window System, pelo que o Poppler pode correr em outras plataformas como Wayland, Windows ou macOS.
- Splash: suporta filtragem de minificação de bitmaps.[7]
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.[12]
Exemplo:
pdftotext file.pdf - | grep string
O Poppler suporta parcialmente anotações e Acroforms. Não suporta JavaScript[13] nem a renderização completa de formulários XFA.[3]
Referências
- ↑ a b c «GNU PDF project leaves FSF High Priority Projects list; mission complete!». Free Software Foundation. Consultado em 31 de outubro de 2025
- ↑ «Kristian Høgsberg - poppler/poppler - The poppler pdf rendering library». cgit.freedesktop.org. Consultado em 31 de outubro de 2025
- ↑ a b «18935 – Form data is not saved for PDF files using XFA forms, will show old values when opened in acroread / Adobe Reader». bugs.freedesktop.org. Consultado em 31 de outubro de 2025
- ↑ «Bug #321720 "PDF v1.7 asks to upgrade Adobe Reader" : Bugs : poppler package : Ubuntu». Launchpad (em inglês). 27 de janeiro de 2009. Consultado em 31 de outubro de 2025
- ↑ «poppler/poppler - The poppler pdf rendering library». cgit.freedesktop.org (em inglês). Consultado em 31 de outubro de 2025. Arquivado do original em 5 de janeiro de 2013
- ↑ «Poppler». poppler.freedesktop.org. Consultado em 31 de outubro de 2025
- ↑ a b c «poppler». freedesktop.org. Consultado em 31 de outubro de 2025
- ↑ «LibreOffice 4.2: Release Notes». The Document Foundation Wiki. Consultado em 31 de outubro de 2025
- ↑ «Re: [poppler] Qt4 Arthur». www.mail-archive.com. Consultado em 31 de outubro de 2025
- ↑ Dann, Paul Gideon (18 de novembro de 2024), giddie/poppler-cairo-backend, consultado em 31 de outubro de 2025
- ↑ «25240 – Cairo backend for Qt4 wrapper». bugs.freedesktop.org. Consultado em 31 de outubro de 2025
- ↑ «Searching PDF Files With grep». Linux Journal. Consultado em 31 de outubro de 2025
- ↑ «Support JavaScript (#162) · Issues · poppler / poppler · GitLab». gitlab.freedesktop.org. Consultado em 31 de outubro de 2025
- Albert Astals Cid (29 August 2005) The Poppler Library, apresentação na conferência KDE 2005
