Poppler

Poppler logo

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

  1. a b c «GNU PDF project leaves FSF High Priority Projects list; mission complete!». Free Software Foundation. Consultado em 31 de outubro de 2025 
  2. «Kristian Høgsberg - poppler/poppler - The poppler pdf rendering library». cgit.freedesktop.org. Consultado em 31 de outubro de 2025 
  3. 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 
  4. «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 
  5. «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 
  6. «Poppler». poppler.freedesktop.org. Consultado em 31 de outubro de 2025 
  7. a b c «poppler». freedesktop.org. Consultado em 31 de outubro de 2025 
  8. «LibreOffice 4.2: Release Notes». The Document Foundation Wiki. Consultado em 31 de outubro de 2025 
  9. «Re: [poppler] Qt4 Arthur». www.mail-archive.com. Consultado em 31 de outubro de 2025 
  10. Dann, Paul Gideon (18 de novembro de 2024), giddie/poppler-cairo-backend, consultado em 31 de outubro de 2025 
  11. «25240 – Cairo backend for Qt4 wrapper». bugs.freedesktop.org. Consultado em 31 de outubro de 2025 
  12. «Searching PDF Files With grep». Linux Journal. Consultado em 31 de outubro de 2025 
  13. «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

Ligações externas