尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

pypdf 完整指南:合并、拆分、水印等 6 个常用操作一次讲清

pypdf 完整指南:合并、拆分、水印等 6 个常用操作一次讲清 pypdf 完整指南合并、拆分、水印等 6 个常用操作一次讲清【免费下载链接】pypdfA pure-python PDF library capable of splitting, merging, cropping, and transforming the pages of PDF files项目地址: https://gitcode.com/GitHub_Trending/py/pypdfpypdf 是一个纯 Python 编写的 PDF 处理库帮你用代码完成 PDF 的拆分、合并、裁剪、页面变换、加密与文本提取。无需系统级依赖pip 一条命令即可安装适合脚本开发者和批量文档处理场景。 30 秒了解 pypdfpypdf 定位很直接用 Python 代码读写 PDF 文件。合并多份 PDF或把一份 PDF 拆出指定页面裁剪、旋转、缩放页面调整页面尺寸给文档加水印、印章、图形和文本注释提取 PDF 中的文本与元数据支持加解密⚙️ 它适合哪些场景自动化办公把一批报告按顺序合并成一份 PDF文档处理给合同批量盖已审核印章或加水印数据整理从 PDF 里批量抽取文字导入数据库或做检索格式调整旋转方向错误的页面、裁剪多余的页边 安装与环境准备安装pip install pypdf验证是否装好python -c import pypdf; print(pypdf.__version__)兼容性操作系统Python 版本支持状态Windows / macOS / Linux3.9✓ 支持Windows / macOS / Linux3.10 ~ 3.13✓ 支持Windows / macOS / Linux3.14✓ 支持任意平台 3.9✗ 不支持pypdf 与操作系统无关只要 Python 版本达标即可运行。可选扩展pip install pypdf[crypto]AES 加密/解密 PDFpip install pypdf[image]提取、嵌入图片pip install pypdf[fonts]字体处理pip install pypdf[rtl_text]阿拉伯语等右起文字pip install pypdf[full]以上全部 功能速览如何一步合并多份 PDF用PdfWriter依次调用append追加文件最后write输出即可只合并前三页也可以传pages(0, 3)。提示合并不同尺寸的页面时可用merge方法指定插入位置并自动扩展画布。如何从 PDF 中拆分指定页面用PdfReader读入原文件add_page挑选要保留的页码写出新文件就是拆分。想保留哪些页就加哪些页。如何裁剪、旋转和缩放 PDF 页面页面提供rotate方法调整角度修改mediabox坐标即可裁剪缩放则调整页面尺寸参数。注意裁剪只是调整可视区域被裁掉的内容仍留在文件里别当保密手段用。如何给 PDF 添加水印或印章用merge_page把水印页合并到每一页上overFalse水印垫底overTrue印章置顶配合Transformation还能旋转缩放。印章适合已审核这类标识水印适合版权保护两者只差一个参数。如何提取 PDF 文本reader.pages[0].extract_text()直接返回文字传extraction_modelayout可尽量还原原始排版。 进阶操作加密与解密writer.encrypt(密码)给文档设访问密码PdfReader打开加密文件时传入password参数。AES-256 加解密需要安装 crypto 扩展包。填写 PDF 表单读取page.get_annots()找到表单域赋值后保存可用于批量填写发票、申请单。处理图形与文本注释pypdf支持高亮、下划线、自由文本、矩形等注释类型创建和读取都可以适合做批注工具。✅ 实战场景场景一文档归档合并 水印收到一份主文档和几份附件先按顺序append合并成一份 PDF再用merge_page(overFalse)给每页垫上水印最后写出归档文件。顺序上先合并再加水印避免对多份文件重复加水印。场景二批量盖章后拆分分发印章 拆分先给合同每页用merge_page(overTrue)盖已盖章印章保存后再按页拆分把每位申请人对应的页分别导出。印章用overTrue保证压在正文之上不被遮挡。⚠️ 常见坑现象照旧教程写PdfMerger报不存在。原因PdfMerger已弃用功能并入PdfWriter。解决改用PdfWriter().append(...)完成合并。现象处理大文件报RecursionError。原因Python 递归深度不够。解决sys.setrecursionlimit(sys.getrecursionlimit() * 5)。现象扫描件提取文本为空。原因图片型 PDF 没有文本层pypdf 不做 OCR。解决先过 OCR 工具再提取。现象水印显示在文字上面。原因merge_page默认overTrue。解决水印改为overFalse印章才用True。现象输出大量 warning 日志。原因很多 PDF 不完全符合规范pypdf 会记录警告。解决属正常现象需要精确控制可传strictTrue改为报错。 小贴士发布代码时用print(pypdf.__version__)确认并锁定版本跨版本 API 有差异。批量处理时给每个文件单独写脚本或循环处理方便定位坏文件。读入可疑文件先试strictFalse容忍格式瑕疵。需要提取的图片或字体时按需安装对应扩展包不要一开始就装 full。输出文件先写临时文件确认无误再覆盖原文件防止误操作丢失源文档。到这里pypdf 的常用能力就都过了一遍合并、拆分、裁剪变换、水印印章、文本提取再配上加解密和表单填写覆盖绝大多数需求。下一步建议从 docs/user/ 下的 merging-pdfs.md、add-watermark.md 和 cropping-and-transforming.md 三个文档看完整示例也可以试试 docs/user/extract-text.md 里的文本提取写法。【免费下载链接】pypdfA pure-python PDF library capable of splitting, merging, cropping, and transforming the pages of PDF files项目地址: https://gitcode.com/GitHub_Trending/py/pypdf创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表