<p align="center">
👉 <a target="_blank" href="https://www.python-office.com/">项目官网:https://www.python-office.com/</a> 👈
</p>
<p align="center">
👉 <a target="_blank" href="http://www.python4office.cn/wechat-group/">本开源项目的交流群</a> 👈
</p>
<p align="center">
<a target="_blank" href='https://github.com/CoderWanFeng/popdf'>
<img src="https://img.shields.io/github/stars/CoderWanFeng/popdf.svg?style=social" alt="github star"/>
</a>
<a target="_blank" href='https://gitcode.com/python4office/popdf'>
<img src='https://gitcode.com/python4office/popdf/star/badge.svg?theme=dark' alt='gitcode star'/>
</a>
<a target="_blank" href='https://github.com/CoderWanFeng/popdf'>
<img src="https://static.pepy.tech/badge/popdf" alt="PyPI Downloads">
</a>
</p>
-------------------------------------------------------------------------------
## 📚简介
popdf 是python自动化办公之Excel操作的第三方库。
来自于开源项目:python-office,[📘官网:https://www.python-office.com/](https://www.python-office.com/)。
-------------------------------------------------------------------------------
## 📦安装
### 🍊pip 自动下载&更新
#### 源码安装
```
git clone https://gitcode.com/python4office/popdf.git
cd popdf
pip install -e .
```
#### 源安装&更新
我使用的是阿里云镜像。如果你的网络环境无法访问阿里云镜像,请自行更换为其他镜像。
```
pip install -i https://mirrors.aliyun.com/pypi/simple/ popdf -U
```
-------------------------------------------------------------------------------
## 📝功能
已有功能的说明如下:
| 序号 | 功能 | 视频 | 文档 |
| ---- | ----------- | ----------------------------------------------------- | ------------------------------------------------------------------------------------------------ |
| 1 | 下载和安装 | 💻 [播放](https://www.bilibili.com/video/BV1BS9UYGEW7) | [查看](http://www.python4office.cn/python-office/popdf/%E8%AF%BE%E7%A8%8B/0-install) |
| 2 | PDF 转 Word | 💻 [播放](https://www.bilibili.com/video/BV1pB9UYSEoG) | [查看](http://www.python4office.cn/python-office/popdf/%E8%AF%BE%E7%A8%8B/1-pdf2docx/) |
| 3 | PDF 转 图片 | 💻[播放](https://www.bilibili.com/video/BV19WRVYKEEY) | [查看](http://www.python4office.cn/python-office/popdf/%E8%AF%BE%E7%A8%8B/2-pdf2imgs/) |
| 4 | TXT转PDF | [播放](https://www.bilibili.com/video/BV1aCQ5YhEBm) | [查看](http://www.python4office.cn/python-office/popdf/%E8%AF%BE%E7%A8%8B/3-txt2pdf/) |
| 5 | 按页切割PDF | 💻[播放](https://www.bilibili.com/video/BV1PYQpY3E8z) | [查看](http://www.python4office.cn/python-office/popdf/%E8%AF%BE%E7%A8%8B/4-split4pdf/) |
| 6 | PDF加密 | [播放](https://www.bilibili.com/video/BV1n1QPYJE61) | [查看](http://www.python4office.cn/python-office/popdf/%E8%AF%BE%E7%A8%8B/5-encrypt4pdf/) |
| 7 | PDF解密 | [播放](https://www.bilibili.com/video/BV11FQ6YdEU1) | [查看](http://www.python4office.cn/python-office/popdf/%E8%AF%BE%E7%A8%8B/6-decrypt4pdf/) |
| 8 | PDF加水印 | [播放](https://www.bilibili.com/video/BV1x7QtYdEJt) | [查看](http://www.python4office.cn/python-office/popdf/%E8%AF%BE%E7%A8%8B/7-add_text_watermark/) |
| 9 | 合并PDF | [播放](https://www.bilibili.com/video/BV1NNQhYaEVG) | [查看](http://www.python4office.cn/python-office/popdf/%E8%AF%BE%E7%A8%8B/8-merge2pdf/) |
| 10 | 删除PDF | [播放](https://www.bilibili.com/video/BV1KPQhYAENX) | [查看](http://www.python4office.cn/python-office/popdf/%E8%AF%BE%E7%A8%8B/9-del4pdf/) |
## 🏗️添砖加瓦
本项目欢迎任何人参与开发,如果是小白,可以看一下开发教程👉[如何参与开源项目?0基础入门:怎么打开GitHub?什么是issue?什么是PR?](https://www.bilibili.com/video/BV1EP411d7Np/?spm_id_from=333.999.0.0)
#### 目录结构和pr要求如下:
- docs:存放该项目的文档,包括教程、案例等。
- examples:存放该项目的案例,**如果你有新增功能或者接口,请在这里新建一个py文件,并在这里写一个使用案例。**
- popdf:存放该项目的源代码,其中:
- api:提供外部调用的接口。
- core:存放该项目的核心代码,包括类、函数等。
- lib:存放工具类、工具函数等。
- tests:存放该项目的单元测试的代码,其中:
- test_code:存放测试代码,**每新增/修改任一个函数,提交之前必须写单元测试**!
- test)files:存放测试文件,包括图片、Excel等。
- README.md、requirement.txt、setup等文件,一般不修改。
### 🐞提供bug反馈或建议
提交问题反馈时,请务必填写和该项目本身有关的问题,不进行有关python学习,甚至是个人练习的知识答疑和讨论。
- [Github issue](https://github.com/CoderWanFeng/popdf/issues)
- [gitee issue](https://gitee.com/CoderWanFeng/popdf/issues)
- [GitCode issue](https://gitcode.com/python4office/popdf/issues)
### 🧬贡献代码的步骤
1. 在Gitee或者Github上fork项目到自己的repo
2. 把fork过去的项目也就是你的项目clone到你的本地
3. 修改代码
4. commit后push到自己的库
5. 登录Gitee或Github在你首页可以看到一个 pull request 按钮,点击它,填写一些说明信息,然后提交到master分支即可。
6. 等待程序员晚枫合并,+微信说一声更好👉[CoderWanFeng](http://python4office.cn/wechat-qrcode/)
-------------------------------------------------------------------------------
## 📕参考文档
- [PyMuPDF](https://pymupdf.readthedocs.io/en/latest/index.html)
- [python-office](https://www.python-office.com/)
## 📌联系作者
<p align="center" id='开源交流群-banner'>
<a target="_blank" href='https://cos.python-office.com/group%2Ffree-group.jpg'>
<img src="https://cos.python-office.com/group/python-office-qr.jpg" width="100%"/>
</a>
</p>
Raw data
{
"_id": null,
"home_page": "https://www.python-office.com/",
"name": "popdf",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.7",
"maintainer_email": null,
"keywords": null,
"author": "CoderWanFeng",
"author_email": "1957875073@qq.com",
"download_url": "https://files.pythonhosted.org/packages/51/f3/e5b146acd04edcf017df5bd9f8bf378dc022f055e3215a9c134c5b99f662/popdf-1.0.3.tar.gz",
"platform": "any",
"description": "<p align=\"center\">\r\n\t\ud83d\udc49 <a target=\"_blank\" href=\"https://www.python-office.com/\">\u9879\u76ee\u5b98\u7f51\uff1ahttps://www.python-office.com/</a> \ud83d\udc48\r\n</p>\r\n<p align=\"center\">\r\n\t\ud83d\udc49 <a target=\"_blank\" href=\"http://www.python4office.cn/wechat-group/\">\u672c\u5f00\u6e90\u9879\u76ee\u7684\u4ea4\u6d41\u7fa4</a> \ud83d\udc48\r\n</p>\r\n\r\n\r\n<p align=\"center\">\r\n <a target=\"_blank\" href='https://github.com/CoderWanFeng/popdf'>\r\n <img src=\"https://img.shields.io/github/stars/CoderWanFeng/popdf.svg?style=social\" alt=\"github star\"/>\r\n </a>\r\n <a target=\"_blank\" href='https://gitcode.com/python4office/popdf'>\r\n\t\t<img src='https://gitcode.com/python4office/popdf/star/badge.svg?theme=dark' alt='gitcode star'/>\r\n\t</a>\r\n <a target=\"_blank\" href='https://github.com/CoderWanFeng/popdf'>\r\n<img src=\"https://static.pepy.tech/badge/popdf\" alt=\"PyPI Downloads\">\r\n</a>\r\n</p>\r\n\r\n\r\n\r\n-------------------------------------------------------------------------------\r\n\r\n## \ud83d\udcda\u7b80\u4ecb\r\n\r\npopdf \u662fpython\u81ea\u52a8\u5316\u529e\u516c\u4e4bExcel\u64cd\u4f5c\u7684\u7b2c\u4e09\u65b9\u5e93\u3002\r\n\r\n\u6765\u81ea\u4e8e\u5f00\u6e90\u9879\u76ee\uff1apython-office\uff0c[\ud83d\udcd8\u5b98\u7f51\uff1ahttps://www.python-office.com/](https://www.python-office.com/)\u3002\r\n\r\n-------------------------------------------------------------------------------\r\n\r\n## \ud83d\udce6\u5b89\u88c5\r\n\r\n### \ud83c\udf4apip \u81ea\u52a8\u4e0b\u8f7d&\u66f4\u65b0\r\n\r\n\r\n#### \u6e90\u7801\u5b89\u88c5\r\n\r\n```\r\ngit clone https://gitcode.com/python4office/popdf.git\r\n\r\ncd popdf\r\n\r\npip install -e .\r\n```\r\n\r\n\r\n#### \u6e90\u5b89\u88c5&\u66f4\u65b0\r\n\r\n\u6211\u4f7f\u7528\u7684\u662f\u963f\u91cc\u4e91\u955c\u50cf\u3002\u5982\u679c\u4f60\u7684\u7f51\u7edc\u73af\u5883\u65e0\u6cd5\u8bbf\u95ee\u963f\u91cc\u4e91\u955c\u50cf\uff0c\u8bf7\u81ea\u884c\u66f4\u6362\u4e3a\u5176\u4ed6\u955c\u50cf\u3002\r\n\r\n\r\n```\r\npip install -i https://mirrors.aliyun.com/pypi/simple/ popdf -U\r\n```\r\n\r\n-------------------------------------------------------------------------------\r\n\r\n## \ud83d\udcdd\u529f\u80fd\r\n\r\n\u5df2\u6709\u529f\u80fd\u7684\u8bf4\u660e\u5982\u4e0b\uff1a\r\n\r\n\r\n| \u5e8f\u53f7 | \u529f\u80fd | \u89c6\u9891 | \u6587\u6863 |\r\n| ---- | ----------- | ----------------------------------------------------- | ------------------------------------------------------------------------------------------------ |\r\n| 1 | \u4e0b\u8f7d\u548c\u5b89\u88c5 | \ud83d\udcbb [\u64ad\u653e](https://www.bilibili.com/video/BV1BS9UYGEW7) | [\u67e5\u770b](http://www.python4office.cn/python-office/popdf/%E8%AF%BE%E7%A8%8B/0-install) |\r\n| 2 | PDF \u8f6c Word | \ud83d\udcbb [\u64ad\u653e](https://www.bilibili.com/video/BV1pB9UYSEoG) | [\u67e5\u770b](http://www.python4office.cn/python-office/popdf/%E8%AF%BE%E7%A8%8B/1-pdf2docx/) |\r\n| 3 | PDF \u8f6c \u56fe\u7247 | \ud83d\udcbb[\u64ad\u653e](https://www.bilibili.com/video/BV19WRVYKEEY) | [\u67e5\u770b](http://www.python4office.cn/python-office/popdf/%E8%AF%BE%E7%A8%8B/2-pdf2imgs/) |\r\n| 4 | TXT\u8f6cPDF | [\u64ad\u653e](https://www.bilibili.com/video/BV1aCQ5YhEBm) | [\u67e5\u770b](http://www.python4office.cn/python-office/popdf/%E8%AF%BE%E7%A8%8B/3-txt2pdf/) |\r\n| 5 | \u6309\u9875\u5207\u5272PDF | \ud83d\udcbb[\u64ad\u653e](https://www.bilibili.com/video/BV1PYQpY3E8z) | [\u67e5\u770b](http://www.python4office.cn/python-office/popdf/%E8%AF%BE%E7%A8%8B/4-split4pdf/) |\r\n| 6 | PDF\u52a0\u5bc6 | [\u64ad\u653e](https://www.bilibili.com/video/BV1n1QPYJE61) | [\u67e5\u770b](http://www.python4office.cn/python-office/popdf/%E8%AF%BE%E7%A8%8B/5-encrypt4pdf/) |\r\n| 7 | PDF\u89e3\u5bc6 | [\u64ad\u653e](https://www.bilibili.com/video/BV11FQ6YdEU1) | [\u67e5\u770b](http://www.python4office.cn/python-office/popdf/%E8%AF%BE%E7%A8%8B/6-decrypt4pdf/) |\r\n| 8 | PDF\u52a0\u6c34\u5370 | [\u64ad\u653e](https://www.bilibili.com/video/BV1x7QtYdEJt) | [\u67e5\u770b](http://www.python4office.cn/python-office/popdf/%E8%AF%BE%E7%A8%8B/7-add_text_watermark/) |\r\n| 9 | \u5408\u5e76PDF | [\u64ad\u653e](https://www.bilibili.com/video/BV1NNQhYaEVG) | [\u67e5\u770b](http://www.python4office.cn/python-office/popdf/%E8%AF%BE%E7%A8%8B/8-merge2pdf/) |\r\n| 10 | \u5220\u9664PDF | [\u64ad\u653e](https://www.bilibili.com/video/BV1KPQhYAENX) | [\u67e5\u770b](http://www.python4office.cn/python-office/popdf/%E8%AF%BE%E7%A8%8B/9-del4pdf/) |\r\n\r\n## \ud83c\udfd7\ufe0f\u6dfb\u7816\u52a0\u74e6\r\n\r\n\u672c\u9879\u76ee\u6b22\u8fce\u4efb\u4f55\u4eba\u53c2\u4e0e\u5f00\u53d1\uff0c\u5982\u679c\u662f\u5c0f\u767d\uff0c\u53ef\u4ee5\u770b\u4e00\u4e0b\u5f00\u53d1\u6559\u7a0b\ud83d\udc49[\u5982\u4f55\u53c2\u4e0e\u5f00\u6e90\u9879\u76ee\uff1f0\u57fa\u7840\u5165\u95e8\uff1a\u600e\u4e48\u6253\u5f00GitHub\uff1f\u4ec0\u4e48\u662fissue\uff1f\u4ec0\u4e48\u662fPR\uff1f](https://www.bilibili.com/video/BV1EP411d7Np/?spm_id_from=333.999.0.0)\r\n\r\n\r\n#### \u76ee\u5f55\u7ed3\u6784\u548cpr\u8981\u6c42\u5982\u4e0b\uff1a\r\n\r\n- docs\uff1a\u5b58\u653e\u8be5\u9879\u76ee\u7684\u6587\u6863\uff0c\u5305\u62ec\u6559\u7a0b\u3001\u6848\u4f8b\u7b49\u3002\r\n- examples\uff1a\u5b58\u653e\u8be5\u9879\u76ee\u7684\u6848\u4f8b\uff0c**\u5982\u679c\u4f60\u6709\u65b0\u589e\u529f\u80fd\u6216\u8005\u63a5\u53e3\uff0c\u8bf7\u5728\u8fd9\u91cc\u65b0\u5efa\u4e00\u4e2apy\u6587\u4ef6\uff0c\u5e76\u5728\u8fd9\u91cc\u5199\u4e00\u4e2a\u4f7f\u7528\u6848\u4f8b\u3002**\r\n- popdf\uff1a\u5b58\u653e\u8be5\u9879\u76ee\u7684\u6e90\u4ee3\u7801\uff0c\u5176\u4e2d\uff1a\r\n - api\uff1a\u63d0\u4f9b\u5916\u90e8\u8c03\u7528\u7684\u63a5\u53e3\u3002\r\n - core\uff1a\u5b58\u653e\u8be5\u9879\u76ee\u7684\u6838\u5fc3\u4ee3\u7801\uff0c\u5305\u62ec\u7c7b\u3001\u51fd\u6570\u7b49\u3002\r\n - lib\uff1a\u5b58\u653e\u5de5\u5177\u7c7b\u3001\u5de5\u5177\u51fd\u6570\u7b49\u3002\r\n- tests\uff1a\u5b58\u653e\u8be5\u9879\u76ee\u7684\u5355\u5143\u6d4b\u8bd5\u7684\u4ee3\u7801\uff0c\u5176\u4e2d\uff1a\r\n - test_code\uff1a\u5b58\u653e\u6d4b\u8bd5\u4ee3\u7801\uff0c**\u6bcf\u65b0\u589e/\u4fee\u6539\u4efb\u4e00\u4e2a\u51fd\u6570\uff0c\u63d0\u4ea4\u4e4b\u524d\u5fc5\u987b\u5199\u5355\u5143\u6d4b\u8bd5**\uff01\r\n - test)files\uff1a\u5b58\u653e\u6d4b\u8bd5\u6587\u4ef6\uff0c\u5305\u62ec\u56fe\u7247\u3001Excel\u7b49\u3002\r\n- README.md\u3001requirement.txt\u3001setup\u7b49\u6587\u4ef6\uff0c\u4e00\u822c\u4e0d\u4fee\u6539\u3002\r\n\r\n\r\n### \ud83d\udc1e\u63d0\u4f9bbug\u53cd\u9988\u6216\u5efa\u8bae\r\n\r\n\u63d0\u4ea4\u95ee\u9898\u53cd\u9988\u65f6\uff0c\u8bf7\u52a1\u5fc5\u586b\u5199\u548c\u8be5\u9879\u76ee\u672c\u8eab\u6709\u5173\u7684\u95ee\u9898\uff0c\u4e0d\u8fdb\u884c\u6709\u5173python\u5b66\u4e60\uff0c\u751a\u81f3\u662f\u4e2a\u4eba\u7ec3\u4e60\u7684\u77e5\u8bc6\u7b54\u7591\u548c\u8ba8\u8bba\u3002\r\n\r\n- [Github issue](https://github.com/CoderWanFeng/popdf/issues)\r\n- [gitee issue](https://gitee.com/CoderWanFeng/popdf/issues)\r\n- [GitCode issue](https://gitcode.com/python4office/popdf/issues)\r\n\r\n### \ud83e\uddec\u8d21\u732e\u4ee3\u7801\u7684\u6b65\u9aa4\r\n\r\n1. \u5728Gitee\u6216\u8005Github\u4e0afork\u9879\u76ee\u5230\u81ea\u5df1\u7684repo\r\n2. \u628afork\u8fc7\u53bb\u7684\u9879\u76ee\u4e5f\u5c31\u662f\u4f60\u7684\u9879\u76eeclone\u5230\u4f60\u7684\u672c\u5730\r\n3. \u4fee\u6539\u4ee3\u7801\r\n4. commit\u540epush\u5230\u81ea\u5df1\u7684\u5e93\r\n5. \u767b\u5f55Gitee\u6216Github\u5728\u4f60\u9996\u9875\u53ef\u4ee5\u770b\u5230\u4e00\u4e2a pull request \u6309\u94ae\uff0c\u70b9\u51fb\u5b83\uff0c\u586b\u5199\u4e00\u4e9b\u8bf4\u660e\u4fe1\u606f\uff0c\u7136\u540e\u63d0\u4ea4\u5230master\u5206\u652f\u5373\u53ef\u3002\r\n6. \u7b49\u5f85\u7a0b\u5e8f\u5458\u665a\u67ab\u5408\u5e76\uff0c\uff0b\u5fae\u4fe1\u8bf4\u4e00\u58f0\u66f4\u597d\ud83d\udc49[CoderWanFeng](http://python4office.cn/wechat-qrcode/)\r\n\r\n-------------------------------------------------------------------------------\r\n\r\n## \ud83d\udcd5\u53c2\u8003\u6587\u6863\r\n\r\n- [PyMuPDF](https://pymupdf.readthedocs.io/en/latest/index.html)\r\n- [python-office](https://www.python-office.com/)\r\n\r\n## \ud83d\udccc\u8054\u7cfb\u4f5c\u8005\r\n\r\n<p align=\"center\" id='\u5f00\u6e90\u4ea4\u6d41\u7fa4-banner'>\r\n<a target=\"_blank\" href='https://cos.python-office.com/group%2Ffree-group.jpg'>\r\n<img src=\"https://cos.python-office.com/group/python-office-qr.jpg\" width=\"100%\"/>\r\n</a> \r\n</p>\r\n\r\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "pip install popdf",
"version": "1.0.3",
"project_urls": {
"Bug Tracker": "https://github.com/CoderWanFeng/popdf/issues",
"Documentation": "https://github.com/CoderWanFeng/popdf/blob/master/README.md",
"Homepage": "https://www.python-office.com/",
"Source Code": "https://github.com/CoderWanFeng/popdf"
},
"split_keywords": [],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "1b918f61660b3ca936a9f33aef16e5bd77df05cda5ddf80969514725b9e32865",
"md5": "4f7865e0cad1f137365ff02c1972060d",
"sha256": "5089bf27fd646588923483a2179a6e8732626235d4e18fa4b2d48a4e94800637"
},
"downloads": -1,
"filename": "popdf-1.0.3-py3-none-any.whl",
"has_sig": false,
"md5_digest": "4f7865e0cad1f137365ff02c1972060d",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.7",
"size": 18446,
"upload_time": "2025-04-07T13:33:43",
"upload_time_iso_8601": "2025-04-07T13:33:43.531629Z",
"url": "https://files.pythonhosted.org/packages/1b/91/8f61660b3ca936a9f33aef16e5bd77df05cda5ddf80969514725b9e32865/popdf-1.0.3-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "51f3e5b146acd04edcf017df5bd9f8bf378dc022f055e3215a9c134c5b99f662",
"md5": "06924e3e48187df574e6be4df788a77b",
"sha256": "ff7dd579ac6e4bd0288e5c2871bde92437fc57cfba18b937ac27bde56d87ebf2"
},
"downloads": -1,
"filename": "popdf-1.0.3.tar.gz",
"has_sig": false,
"md5_digest": "06924e3e48187df574e6be4df788a77b",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.7",
"size": 16545,
"upload_time": "2025-04-07T13:33:44",
"upload_time_iso_8601": "2025-04-07T13:33:44.613108Z",
"url": "https://files.pythonhosted.org/packages/51/f3/e5b146acd04edcf017df5bd9f8bf378dc022f055e3215a9c134c5b99f662/popdf-1.0.3.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-04-07 13:33:44",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "CoderWanFeng",
"github_project": "popdf",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"requirements": [
{
"name": "pytest",
"specs": []
},
{
"name": "frontend",
"specs": []
},
{
"name": "PyMuPDF",
"specs": []
},
{
"name": "pikepdf",
"specs": []
},
{
"name": "PyPDF2",
"specs": []
},
{
"name": "fpdf",
"specs": []
},
{
"name": "pdf2docx",
"specs": []
},
{
"name": "pofile",
"specs": []
},
{
"name": "poprogress",
"specs": []
},
{
"name": "reportlab",
"specs": []
}
],
"lcname": "popdf"
}