Poppler

维基百科,自由的百科全书
跳转到导航 跳转到搜索
Poppler
File:Poppler logotype.svg
开发者freedesktop.org
首次发布2005年3月4日,​21年前​(2005-03-04
当前版本
    Module:EditAtWikidata第29行Lua错误:attempt to index field 'wikibase' (a nil value)
    源代码库
    • {{URL|example.com|可选的显示文本}}
    Module:EditAtWikidata第29行Lua错误:attempt to index field 'wikibase' (a nil value)
    编程语言C++
    引擎
      Module:EditAtWikidata第29行Lua错误:attempt to index field 'wikibase' (a nil value)
      操作系统Linux, Unix, BSD, Windows
      类型函数库
      许可协议GPLv2GPLv3
      网站poppler.freedesktop.org

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

      项目发起者 Kristian Høgsberg 有两个目标:[2]

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

      到了2011年0.18版释出,Poppler库完整实现了PDF标准 ISO 32000-1英语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+
      GIMP GTK+
      Inkscape GTK+
      KPDF Qt
      LibreOffice 4.2 GTK+
      Okular Qt
      pdftotext英语pdftotext、pdftohtml 等
      TeXworks英语TeXworks Qt
      TeXstudio GTK+
      VPDF GTK+
      Xournal GTK+
      Zathura英语Zathura (document viewer) GTK+

      特性[编辑]

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

      后端的一些特点包括:

      • Cairo:矢量图形反锯齿,以及透明对象渲染。[4]
        • Cairo并不对诸如扫描文档的位图进行平滑处理。
        • Cairo并不依赖于X Window环境,因此Poppler得以像Wayland一样在不同平台如WindowsMac OS上运行。
      • Splash:支持位图的微小滤波 。[4]

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

      具体的方法示例:

      pdftotext file.pdf - | grep string
      

      Poppler支持使用JavaScript,注释和表单的可交互式文档,[9] 但还不支持呈现完整的XFA表单。[10]

      参考文献[编辑]

      1. ^ 1.0 1.1 GNU PDF project leaves FSF High Priority Projects list; mission complete!. October 6, 2011 [2011-10-11]. (原始内容存档于2014-12-28). 
      2. ^ 2.0 2.1 Poppler README file. [2010-01-21]. (原始内容存档于2012-07-08). 
      3. ^ 3.0 3.1 Poppler Homepage. [2015-01-03]. (原始内容存档于2015-01-08). 
      4. ^ 4.0 4.1 4.2 Poppler Wiki. Information about Poppler. [2010-01-21]. (原始内容存档于2018-06-23). 
      5. ^ Albert Astals Cid. Re: [poppler] Qt4 Arthur. mail-archive.com. 15 May 2009 [2018-06-22]. (原始内容存档于2018-06-23). 
      6. ^ giddie/poppler-qt4-cairo-backend. GitHub. [2018-06-22]. (原始内容存档于2017-08-09). 
      7. ^ Bug 25240 – Cairo backend for Qt4 wrapper. freedesktop.org. [2018-06-22]. (原始内容存档于2018-06-22). 
      8. ^ Searching PDF Files With grep. [2010-01-21]. (原始内容存档于2010-02-12). 
      9. ^ Poppler PDF library learns Javascript. September 12, 2008 [2010-01-21]. (原始内容存档于2018-06-22). 
      10. ^ Bug 18935 - Form data is not saved for PDF files using XFA forms, will show old values when opened in acroread / Adobe Reader, 2008-12-07 [2018-06-22], (原始内容存档于2018-06-22)