【精选】常用Python PDF库对比 您所在的位置:网站首页 pdf与word的优缺点 【精选】常用Python PDF库对比

【精选】常用Python PDF库对比

2023-10-17 22:26| 来源: 网络整理| 查看: 265

2022.06.07修订:新增第三方库borb。初稿写于2021.01.02,彼时borb才发布1.0版没几个月;两年不到,Github上已近三千赞。

PDF(Portable Document Format)是一种便携文档格式,便于跨操作系统传播文档。PDF文档遵循标准格式,因此存在很多可以操作PDF文档的工具,Python自然也不例外。面多众多的Python第三方库,本文从功能、开源协议及社区活跃度三方面加以对比,以便根据具体需求选择合适的库。

概况

功能对比从大粒度上分成了提取内容、操作页面和创建内容三方面。前两者分别是针对已经存在的PDF文档的读和写操作,最后一项从内容上创建新文档。考虑到时效性,以下对比列出了撰文时(2021.01)相应的最新版本。borb于 2022.06 新加入对比,其时间点以此为准。

提取内容如文本、图片、元信息操作页面特指操作已经存在的页面例如分割、合并、裁剪、旋转等创建内容指创建或修改页面内容,例如文本、图片、形状 Python库当前版本Python版本开源协议最新更新功能:提取内容功能:操作页面功能:创建内容备注PyPDF21.26.02.6-3.6modified BSD3年前√√×PyPDF2已不再维护,继任者PyPDF4(PyPDF、PyPDF2及PyPDF4的渊源参考此处)。由于PyPDF2似乎更知名,故以其作为条目列出。pdfrw0.42.6-3.6MIT3年前√√×自身不能创建新内容,但是集成了ReportLab,可以兼容ReportLab生成新页面ReportLab3.5.582.7, 3.6+BSD非常活跃××√ReportLab的开源版本,专业创建PDF内容如文本、图表等pikepdf2.2.42.7, 3.6+MPL 2.0非常活跃√√×基于C++的QPDF,对标PyPDF2和pdfrw;偏向底层pdfplumber0.5.253.6-3.8MIT活跃√××基于pdfminer.six;除了文本、形状(矩形、直线/曲线),还能解析表格。几个提取PDF表格的Python库的对比参考此处pdfminer.six202010183.6+MIT2个月前√××pdfminer的社区维护版,因为pdfminer自2020年起不再积极维护PyMuPDF1.18.53.6+GPL V3非常活跃√√√基于mupdf;以处理速度著称,参考此处borb2.0.273.6+AGPL非常活跃√√√纯Python库,支持读、写、操作PDF文档,兼顾底层和高级应用 点评 PyPDF2系列、pdfrw及pikepdf专注对已经存在的PDF的操作(分割、合并、旋转等),前两者基本处于停止维护的状态。pdfplumber及其依赖pdfminer.six专注PDF内容提取,例如文本(位置、字体及颜色等)和形状(矩形、直线、曲线),前者还有解析表格的功能。ReportLab专注PDF页面内容(文本、图、表等)的创建。PyMuPDF和borb同时支持读、写及PDF页面操作,功能最为全面。其中,PyMuPDF尤其以速度快著称,而borb是新开发并深得好评的库,潜力无穷。但是,二者同为GPL家族的开源协议,对商用不太友好 *。

* 支持免费使用,但是要求引用其的程序也必须遵守相应协议即开源。如果需要闭源使用的话,需要向作者申请付费的商用授权。

最后以下图结束本文。

coapare



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有