pikepdf是一个用于读写PDF文件的Python库。
powered by qpdf
pikepdf基于QPDF,这是一个功能强大的PDF操作和修复库。
Github项目地址:
https://github.com/pikepdf/pikepdf (点击地址可直接访问)
# Elegant, Pythonic API
pdf = pikepdf.open('input.pdf')
num_pages = len(pdf.pages)
del pdf.pages[-1]
pdf.save('output.pdf')
安装:
本项目完全支持Python 3.5、3.6、3.7
pip install pikepdf
对于想要从源代码构建的用户,请查看安装指南。
pikepdf已经进行文档化和积极维护,并提供商业支持。
该库类似于PyPDF2和pdfrw - 它提供对PDF功能的低级访问,并允许对现有PDF进行编辑和内容转换。了解一些PDF规范的知识可能会有所帮助。另外它还无法将PDF转换为图像。
目前pikepdf不支持Python 2.7和早期版本的Python 3,但对这些版本的支持可能并不难实现。 欢迎提出拉取请求。
Feature - 功能 |
pikepdf |
PyPDF2 |
pdfrw |
Editing, manipulation and transformation of existing PDFs 编辑,操作和转换现有PDF |
✔ |
✔ |
✔ |
Based on an existing, mature PDF library 基于现有的、成熟的PDF库 |
QPDF |
✘ |
✘ |
Implementation - 依赖库 |
C++ and Python |
Python |
Python |
PDF versions supported - 支持的PDF版本 |
1.1 to 1.7 |
1.3? |
1.7 |
Python versions supported - 支持的Python版本 |
3.5-3.7 |
2.6-3.6 |
2.6-3.6 |
Supports password protected (encrypted) PDFs 支持受密码保护(加密)的PDF |
✔ (except public key - 公钥除外) |
Only obsolete RC4 仅支持过时的RC4 |
✘ |
Save and load PDF compressed object streams (PDF 1.5) 保存并加载PDF压缩对象流(PDF 1.5) |
✔ |
✘ |
✘ |
Creates linearized ("fast web view") PDFs 创建线性化(“快速Web View”)PDF文件 |
✔ |
✘ |
✘ |
Actively maintained - 积极维护 |
|||
Test suite coverage - 测试套件覆盖率 |
~86% |
very low 非常低 |
unknown 未知 |
Creates PDFs that pass PDF validation tests 创建通过PDF验证测试的PDF文件 |
✔ |
✘ |
? |
Modifies PDF/A without breaking PDF/A compliance 在不破坏PDF / A合规性的情况下修改PDF / A. |
✔ |
✘ |
? |
Automatically repairs PDFs with internal errors 自动修复带有内部错误的PDF |
✔ |
✘ |
✘ |
PDF XMP metadata editing - PDF XMP元数据编辑 |
✔ |
read-only 只读 |
✘ |
Documentation - 文档说明 |
✔ |
✘ |
✔ |
Integrates with Jupyter and IPython notebooks for rapid development 与Jupyter和IPython笔记本集成,以实现快速开发 |
✔ |
✘ |
✘ |
在生产中
OCRmyPDF使用pikepdf将OCR文本层移植到现有pdf上,检查输入的pdf文件内容,并优化pdf。
pikepdf在Mozilla Public License 2.0许可证(MPL)下提供,你可以在LICENSE文件中找到相关信息。 通过使用、分发或参与此项目,即表示你同意本许可的条款和条件。
非正式地说,MPL 2.0不是一个“病毒性”许可。它可以与其他项目相结合,包括商业软件。但是,你必须以源代码形式公开对pikepdf的修改。在其他项目中,将本项目仓库fork到GitHub或其他地方,并在那里提交你的贡献,这样就满足了你的义务。MPL 2.0与GPL和LGPL兼容——请查看GPL中使用说明的指南。
测试/资源/版权 文件描述了测试套件的许可条款和测试资源的来源。
AI求职百题斩 · 每日一题
点击阅读原文,查看划线部分链接内容