Poppler
Poppler(或称为 libpoppler)是一个用来渲染 PDF 文档的自由程序库,其开发受 freedesktop.org 支持。它是 GNU/Linux 系统上同类程序库中最为常用的[1],并被开源桌面环境 GNOME 和 KDE 上的 PDF 阅读器所使用。
開發者 | freedesktop.org |
---|---|
初始版本 | 2005年3月4日 |
穩定版本 | 21.02.0 (2021年2月1日 ) |
源代码库 | |
编程语言 | C++ |
操作系统 | Linux, Unix, BSD, Windows |
类型 | 函式庫 |
许可协议 | GPLv2或GPLv3 |
网站 | poppler |
项目发起者 Kristian Høgsberg 有两个目标:[2]
- 以一个程序库的方式提供PDF渲染功能,集中维护力量。
- 超过Xpdf的目标,并与现代操作系统所提供的功能结合。
到了2011年0.18版释出,Poppler库完整实现了PDF标准 ISO 32000-1,还是第一个支持表单和注释的主流的自由 PDF 程序库。[1]
Poppler本身是Xpdf-3.0,一个由来自Glyph and Cog, LLC 的 Derek Noonburg 开发的 PDF 阅读器的分支。[2][3]
项目名称“Poppler”来自动画《Futurama》“The Problem with Popplers”一集。[3]
应用
许多自由软件使用 Poppler 渲染 PDF 文档。[4]
应用程序 | 图形库 |
---|---|
Evince | GTK+ |
FlaxPDF | FLTK |
KPDF | Qt |
LibreOffice 6.0 | GTK+ |
Inkscape | GTK+ |
Okular | Qt |
pdftotext, pdftohtml 等 | 无 |
TeXworks | Qt |
TeXstudio | GTK+ |
VPDF | GTK+ |
Xournal | GTK+ |
Zathura | GTK+ |
特性
Poppler可以使用Cairo和Splash两个后端绘制PDF文档,而它的特性又取决于所使用的后端。一个基于Qt4绘制框架的第三方后端“Arthur”也是可用的,但是并不完整,而且已不再是活跃开发状态了。[5] Glib,Qt3和Qt4的绑定提供了对Poppler后端的交互界面。尽管Qt3和Qt4绑定仅仅支持Splash后端,有一组可用的补丁支持使用Cairo后端的Qt4绑定。[6]然而,Poppler 项目现在依然不希望将这个特性添加到 Poppler 库中。[7]
后端的一些特点包括:
- Cairo:矢量图形反锯齿,以及透明物件渲染。[4]
- Splash:支持位图的微小滤波 。[4]
Poppler还有一个文字渲染后端,可以从命令行实用程序 pdftotext 调用。它可以用来在命令行下从 PDF 文件中搜索字符串(比如说同 grep
连用)。[8]
具体的方法示例:
pdftotext file.pdf - | grep string
Poppler支持使用JavaScript,注释和表单的可交互式文档,[9] 但还不支持呈现完整的XFA表单。[10]
参考文献
- . October 6, 2011 [2011-10-11]. (原始内容存档于2014-12-28).
- . [2010-01-21]. (原始内容存档于2012-07-08).
- . [2015-01-03]. (原始内容存档于2015-01-08).
- . [2010-01-21]. (原始内容存档于2018-06-23).
- Albert Astals Cid. . mail-archive.com. 15 May 2009 [2018-06-22]. (原始内容存档于2018-06-23).
- . GitHub. [2018-06-22]. (原始内容存档于2017-08-09).
- . freedesktop.org. [2018-06-22]. (原始内容存档于2018-06-22).
- . [2010-01-21]. (原始内容存档于2010-02-12).
- . September 12, 2008 [2010-01-21]. (原始内容存档于2018-06-22).
- , 2008-12-07 [2018-06-22], (原始内容存档于2018-06-22)