当前位置: 首页 > news >正文

python办公:批量PDF合并—通用版

目录

  • 专栏导读
  • 1、库的介绍
  • 2、库的安装
  • 3、核心代码
  • 3、提供测试PDF生成代码
  • 5、完整代码
  • 进阶版
  • 总结

专栏导读

  • 🌸 欢迎来到Python办公自动化专栏—Python处理办公问题,解放您的双手

  • 🏳️‍🌈 博客主页:请点击——> 一晌小贪欢的博客主页求关注

  • 👍 该系列文章专栏:请点击——>Python办公自动化专栏求订阅

  • 🕷 此外还有爬虫专栏:请点击——>Python爬虫基础专栏求订阅

  • 📕 此外还有python基础专栏:请点击——>Python基础学习专栏求订阅

  • 文章作者技术和水平有限,如果文中出现错误,希望大家能指正🙏

  • ❤️ 欢迎各位佬关注! ❤️

1、库的介绍

  • PyPDF2 是一个用于处理 PDF 文件的纯 Python 库。它能够让你读取、拆分、合并以及转换 PDF 文件的数据。以下是 PyPDF2 的一些主要功能:

读取 PDF 文档:可以打开并读取 PDF 文件中的信息,包括文本和元数据。

分割 PDF 文件:允许将一个大的 PDF 文件分割成多个较小的文件。

合并 PDF 文件:可以将多个 PDF 文件合并成一个文件。

裁剪页面:支持对 PDF 页面进行裁剪操作,以去除不需要的部分。

旋转页面:可以旋转 PDF 中的页面,以便正确显示内容。

加密和解密:为 PDF 文件添加密码保护或移除现有密码。

添加水印:可以在 PDF 文件中添加水印,如版权信息等。

书签和链接:创建、修改或删除 PDF 文件中的书签和链接。

表单填写:填充 PDF 表单字段(如果支持的话)。

2、库的安装

用途安装
PyPDF2PDF文件合并pip install PyPDF2 -i https://pypi.tuna.tsinghua.edu.cn/simple/
os获取绝对路径内置库无需安装

3、核心代码

  • 合并函数

 merger.append(file_path)

3、提供测试PDF生成代码

# -*- coding: UTF-8 -*-
'''
@Project :测试 
@File    :生成PDF.py
@IDE     :PyCharm 
@Author  :一晌小贪欢(278865463@qq.com)
@Date    :2024/10/18 下午10:31 
'''from fpdf import FPDF
import os# 创建 test 文件夹
folder = "test"
if not os.path.exists(folder):os.makedirs(folder)# 创建10个测试PDF
for i in range(1, 11):pdf = FPDF()pdf.add_page()pdf.set_font('Arial', 'B', 16)pdf.cell(200, 10, txt=f"Test PDF {i}", ln=True, align='C')# 保存PDFpdf_output = os.path.join(folder, f"test_pdf_{i}.pdf")pdf.output(pdf_output)folder, os.listdir(folder)  # 返回生成的文件夹及文件列表

5、完整代码

import os
from PyPDF2 import PdfMergerdef merge_pdfs_in_folder(folder_path, output_filename):# 创建一个PdfMerger对象merger = PdfMerger()# 获取文件夹中的所有PDF文件pdf_files = [f for f in os.listdir(folder_path) if f.endswith('.pdf')]# 按文件名排序pdf_files.sort()# 将所有PDF文件加入mergerfor pdf in pdf_files:file_path = os.path.join(folder_path, pdf)merger.append(file_path)print(f"正在合并: {file_path}")# 保存合并后的PDF文件output_path = os.path.join(folder_path, output_filename)merger.write(output_path)merger.close()print(f"PDF合并完成,文件保存为: {output_path}")if __name__ == "__main__":folder = "test"  # 指定PDF文件所在的文件夹output_file = "merged.pdf"  # 合并后的文件名merge_pdfs_in_folder(folder, output_file)

进阶版

  • 以下是打包进阶版PDF合并工具,欢迎订阅,点此连接,跳转查看订阅

在这里插入图片描述
在这里插入图片描述

总结

  • 希望对初学者有帮助

  • 致力于办公自动化的小小程序员一枚

  • 希望能得到大家的【一个免费关注】!感谢

  • 求个 🤞 关注 🤞

  • 此外还有办公自动化专栏,欢迎大家订阅:Python办公自动化专栏

  • 求个 ❤️ 喜欢 ❤️

  • 此外还有爬虫专栏,欢迎大家订阅:Python爬虫基础专栏

  • 求个 👍 收藏 👍

  • 此外还有Python基础专栏,欢迎大家订阅:Python基础学习专栏


http://www.mrgr.cn/news/53692.html

相关文章:

  • 开源的 FOC(Field-Oriented Control) 项目
  • Gin框架操作指南04:GET绑定
  • 【前端】如何制作一个自己的网页(14)
  • MySQL8.0.28解压版安装windows
  • ChatTTS在Windows电脑的本地部署与远程生成音频详细实战指南
  • RabbitMQ最新版本4.0.2在Windows下的安装及使用
  • 【最新华为OD机试E卷-支持在线评测】模拟目录管理 (200分)多语言题解-(Python/C/JavaScript/Java/Cpp)
  • React入门简介
  • Win11电脑快捷键大全
  • Python配合yolov11开发对象检测软件
  • 青城山道观:清幽之境,心灵之旅
  • 银河麒麟(debian)下安装postgresql、postgis
  • Turn-it:调整它:优化线材重构雕塑制造
  • 思维+构造,CF 1936A - Bitwise Operation Wizard
  • 【AI实战连载01】揭秘ComfyUI AI换装工作流方法1-OOTDiffusion!电商卖家用AI一键给模特换装?
  • 数据分析题面试题系列2
  • 【开源免费】基于SpringBoot+Vue.JS社区团购系统(JAVA毕业设计)
  • 【思维导图】C语言—常见概念
  • 06 P1706 全排列问题
  • Diffusion Mechanism in Residual Neural Network: Theory and Applications
  • 【C++刷题】力扣-#268-丢失的数字
  • 你是否真的弄懂了 OAuth 2.0?
  • 【C++篇】类与对象深度解析(六):全面剖析拷贝省略、RVO、NRVO优化策略
  • 从头预训练一只迷你 LLaMA 3_llama3 预训练预处理
  • 电影评论网站开发:Spring Boot技术指南
  • 人工智能研究创造出新型蛋白质