Poppler

Poppler（或称为 libpoppler）是一个用来渲染 PDF 文档的自由程序库，其开发受 freedesktop.org 支持。它是 GNU/Linux 系统上同类程序库中最为常用的，并被开源桌面环境 GNOME 和 KDE 上的 PDF 阅读器所使用。

项目发起者 Kristian Høgsberg 有两个目标：

 以一个程序库的方式提供PDF渲染功能，集中维护力量。
 超过Xpdf的目标，并与现代操作系统所提供的功能结合。

到了2011年0.18版释出，Poppler库完整实现了PDF标准 ，还是第一个支持表单和注释的主流的自由 PDF 程序库。

Poppler本身是Xpdf-3.0，一个由来自Glyph and Cog, LLC 的 Derek Noonburg 开发的 PDF 阅读器的分支。

项目名称“Poppler”来自动画《Futurama》“The Problem with Popplers”一集。

应用
许多自由软件使用 Poppler 渲染 PDF 文档。

特性
Poppler可以使用Cairo和Splash两个后端绘制PDF文档，而它的特性又取决于所使用的后端。一个基于Qt4绘制框架的第三方后端“Arthur”也是可用的，但是并不完整，而且已不再是活跃开发状态了。  Glib，Qt3和Qt4的绑定提供了对Poppler后端的交互界面。尽管Qt3和Qt4绑定仅仅支持Splash后端，有一组可用的补丁支持使用Cairo后端的Qt4绑定。然而，Poppler 项目现在依然不希望将这个特性添加到 Poppler 库中。

后端的一些特点包括：

Cairo:矢量图形反锯齿，以及透明物件渲染。
Cairo并不对诸如扫描文档的位图进行平滑处理。
Cairo并不依赖于X Window环境，因此Poppler得以像Wayland一样在不同平台如Windows或Mac OS上运行。

Splash:支持位图的微小滤波 。

Poppler还有一个文字渲染后端，可以从命令行实用程序 pdftotext 调用。它可以用来在命令行下从 PDF 文件中搜索字符串（比如说同 grep连用）。

具体的方法示例：pdftotext file.pdf - | grep stringPoppler支持使用JavaScript，注释和表单的可交互式文档， 但还不支持呈现完整的XFA表单。

参考文献 

C++函式庫
PDF閱讀器
C++軟體
自由PDF软件
GNOME函式庫