miniaturadaimagem|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, 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: 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 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
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. 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: Cairo: anti-aliasing de gráficos vetoriais e objetos transparentes. 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.
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.
Referências
Albert Astals Cid (29 August 2005) The Poppler Library, apresentação na conferência KDE 2005
Ligações externas
Qt Quarterly: Poppler: Displaying PDF Files with Qt Poppler Utils 0.68.0 compiled for x86 Windows
Categoria:Bibliotecas C++