当前位置: 首页 > 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.lryc.cn/news/463426.html

相关文章:

  • 人工智能研究创造出新型蛋白质
  • blender 金币基站 建模 学习笔记
  • eggjs sequelize egg-sequelize-auto自动从零生成一个数据表 自动创建model
  • 解决低版本pytorch和onnx组合时torch.atan2()不被onnx支持的问题
  • javaWeb项目-ssm+jsp房屋出租管理系统功能介绍
  • 【R语言】gadm全球行政区划数据库
  • 3万字66道Java基础面试题总结(2024版本)
  • go 环境安装
  • stereo-seq 细胞、捕获到的分子及其特征的统计描述
  • ceph rook-ceph 部署 cephobjectstore 失败
  • 1791. 找出星型图的中心节点
  • 微调小型Llama 3.2(十亿参数)模型取代GPT-4o
  • 【JavaEE】【IO】文件操作
  • commonjs和esmodule的导入导出细节
  • 【热门】用ChatGPT做智慧农业云平台——农业ERP管控系统
  • Android从上帝视角来看PackageManagerService
  • 阵列式位移计与传统测斜仪相比的优势
  • 第7章 网络请求和状态管理
  • 苍穹外卖学习笔记(二十七)
  • 使用exe4j打包jar包生成exe文件,GUI应用详细使用教程
  • go jwt 用户登录和返回用户信息 token ----important!!!
  • OpenCV高级图形用户界面(12)用于更改指定窗口的大小函数resizeWindow()的使用
  • babylonjs shader学习之copy shadertoy案例
  • Leetcode 1137. 第 N 个泰波那契数
  • Rust 语言持续崛起,即将冲击 TIOBE 指数前十,能否成为编程语言新王者?
  • Linux 手撕线程池
  • [Unity Demo]从零开始制作空洞骑士Hollow Knight第十五集:制作更多地图,更多敌人,更多可交互对象
  • 在Openshift上安装MetalLB
  • mysql其他对象
  • 英语单词之社会生活之聚会