当前位置: 首页 > 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基础学习专栏

相关文章:

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

目录 专栏导读1、库的介绍2、库的安装3、核心代码3、提供测试PDF生成代码5、完整代码进阶版总结 专栏导读 🌸 欢迎来到Python办公自动化专栏—Python处理办公问题,解放您的双手 🏳️‍🌈 博客主页:请点击——> 一…...

人工智能研究创造出新型蛋白质

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…...

blender 金币基站 建模 学习笔记

一、学习blender视频教程链接 案例3:金币基站_建模_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1Bt4y1E7qn?vd_sourced0ea58f1127eed138a4ba5421c577eb1&p12&spm_id_from333.788.videopod.episodes 二、金币基站建模过程 (1&#x…...

eggjs sequelize egg-sequelize-auto自动从零生成一个数据表 自动创建model

sequelize egg-sequelize-auto整个过程还是有一些坑 包括兼容性问题 依赖安装问题 需要注意 缺少一个条件 包跑不起来 或使用体验很差 1. 全局安装插件 pnpm install -g sequelize-cli sequelize mysql2 egg-sequelize-auto 2. 执行命令创建 migrate迁移文件 以及 mod…...

解决低版本pytorch和onnx组合时torch.atan2()不被onnx支持的问题

解决这个问题,最简单的当然是升级pytorch和onnx到比较高的版本,例如有人验证过的组合: pytorch2.1.1cu118, onnxruntime1.16.3 但是因为你的模型或cuda环境等约束,不能安装这么高的版本的pytorch和onnx组合时(例如我的环境是pytorch1.12&…...

javaWeb项目-ssm+jsp房屋出租管理系统功能介绍

本项目源码(点击下方链接下载):java-ssmjsp房屋出租管理系统实现源码(项目源码-说明文档)资源-CSDN文库 项目关键技术 开发工具:IDEA 、Eclipse 编程语言: Java 数据库: MySQL5.7 框架:ssm、Springboot 前端&#xff…...

【R语言】gadm全球行政区划数据库

我R语言不熟、也不是学GIS的。仅用于记录。 文章目录 一、gadm 数据库简介二、R 语言示例三、sf 包的函数 一、gadm 数据库简介 GADM(全称Database of Global Administrative Areas)是一个高精度的全球行政区划数据库,它包含了全球所有国家和…...

3万字66道Java基础面试题总结(2024版本)

本文合计三万字,整合了66道当前Java面试中比较热门的面试题,希望对大家有所帮助。 文章目录 一、Java概念1. JDK和JRE和JVM的区别2. Java语言有哪些特点3. 什么是字节码?采用字节码的最大好处是什么?4. Oracle JDK 和 OpenJDK 的对…...

go 环境安装

最近搭建AIGC大模型聚合平台,涉及到了go语言,随手整理一下环境安装步骤分享给大家。 1、安装 官网下载地址:https://go.dev/ 1.1 Linux 安装 yum install git -y yum install golang -y yum install gcc -y # 日志工具,如需要…...

stereo-seq 细胞、捕获到的分子及其特征的统计描述

Cell Count、Mean/Median Cell Area、Mean/Median DNB Count、Mean/Median Gene Type、Mean/Median MID 这些术语与空间转录组学和单细胞测序等技术中的细胞和基因表达数据分析有关。每个指标都是对细胞、捕获到的分子及其特征的统计描述。以下是每个术语的详细解释: 1. Cell…...

ceph rook-ceph 部署 cephobjectstore 失败

版本信息 helm list WARNING: Kubernetes configuration file is group-readable. This is insecure. Location: /Users/zld/kubeconfigs/gir.yaml WARNING: Kubernetes configuration file is world-readable. This is insecure. Location: /Users/zld/kubeconfigs/gir.yaml …...

1791. 找出星型图的中心节点

有一个无向的 星型 图,由 n 个编号从 1 到 n 的节点组成。星型图有一个 中心 节点,并且恰有 n - 1 条边将中心节点与其他每个节点连接起来。 给你一个二维整数数组 edges ,其中 edges[i] [ui, vi] 表示在节点 ui 和 vi 之间存在一条边。请你…...

微调小型Llama 3.2(十亿参数)模型取代GPT-4o

微调Llama VS GPT-4o 别忘了关注作者,关注后您会变得更聪明,不关注就只能靠颜值了 ^_^。 一位年轻的儿科医生与一位经验丰富的医师,谁更能有效治疗婴儿的咳嗽? 两者都具备治疗咳嗽的能力,但儿科医生由于专攻儿童医学…...

【JavaEE】【IO】文件操作

目录 一、文件1.1 文件的概念1.2 文件的操作1.3 路径1.4 文件分类 二、Java中的文件元信息、路径操作2.1 属性2.2 构造方法2.3 方法2.3.1 文件路径2.3.2 文件判断2.3.3 文件创建删除2.3.4 其他操作 三、文件读写操作3.1 流(Stream)3.1.1 字节流3.1.1.1 I…...

commonjs和esmodule的导入导出细节

CommonJS和ES Module是JavaScript中两种不同的模块系统,它们在导入导出细节上存在差异,以下是两者的具体对比以及方便区分记忆的方法: 1. 导入导出细节 CommonJS 导出:使用module.exports或exports对象来导出模块中的变量、函数…...

【热门】用ChatGPT做智慧农业云平台——农业ERP管控系统

随着科技的进步,原有农业种植方式已经不能满足社会发展的需要,必须对传统的农业进行技术更新和改造。经过多年的实践,人们总结出一种新的种植方法——温室农业,即“用人工设施控制环境因素,使作物获得最适宜的生长条件,从而延长生产季节,获得最佳的产出”。这种农业生产方式…...

Android从上帝视角来看PackageManagerService

戳蓝字“牛晓伟”关注我哦! 用心坚持输出易读、有趣、有深度、高质量、体系化的技术文章,技术文章也可以有温度。 前言 阅读该篇之前,建议先阅读下面的系列文章: Android深入理解包管理–PackageManagerService和它的“小伙伴…...

阵列式位移计与传统测斜仪相比的优势

在岩土工程监测领域,位移测量是确保工程质量和安全的重要环节。传统的测斜仪,如活水平固定测斜仪和固定式测斜仪,尽管在一定程度上满足了工程监测的需求,但某些方面限制了其应用范围。随着阵列式位移计这种新型的传感器的出现&…...

第7章 网络请求和状态管理

一、Axios 1 Axios概述 Axios是一个基于Promise的HTTP库,可以发送get、post等请求,它作用于浏览器和Node.js中。当运行在浏览器时,使用XMLHttpRequest接口发送请求;当运行在Node.js时,使用HTTP对象发送请求。 Axios的…...

苍穹外卖学习笔记(二十七)

客户催单 OrderController /*** 催单*/GetMapping("/reminder/{id}")ApiOperation("催单")public Result reminder(PathVariable("id") Long id) {orderService.reminder(id);return Result.success();}OrderServer /*** 催单*/void reminder(L…...

Python爬虫实战:研究MechanicalSoup库相关技术

一、MechanicalSoup 库概述 1.1 库简介 MechanicalSoup 是一个 Python 库,专为自动化交互网站而设计。它结合了 requests 的 HTTP 请求能力和 BeautifulSoup 的 HTML 解析能力,提供了直观的 API,让我们可以像人类用户一样浏览网页、填写表单和提交请求。 1.2 主要功能特点…...

C++_核心编程_多态案例二-制作饮品

#include <iostream> #include <string> using namespace std;/*制作饮品的大致流程为&#xff1a;煮水 - 冲泡 - 倒入杯中 - 加入辅料 利用多态技术实现本案例&#xff0c;提供抽象制作饮品基类&#xff0c;提供子类制作咖啡和茶叶*//*基类*/ class AbstractDr…...

从WWDC看苹果产品发展的规律

WWDC 是苹果公司一年一度面向全球开发者的盛会&#xff0c;其主题演讲展现了苹果在产品设计、技术路线、用户体验和生态系统构建上的核心理念与演进脉络。我们借助 ChatGPT Deep Research 工具&#xff0c;对过去十年 WWDC 主题演讲内容进行了系统化分析&#xff0c;形成了这份…...

多场景 OkHttpClient 管理器 - Android 网络通信解决方案

下面是一个完整的 Android 实现&#xff0c;展示如何创建和管理多个 OkHttpClient 实例&#xff0c;分别用于长连接、普通 HTTP 请求和文件下载场景。 <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas…...

CentOS下的分布式内存计算Spark环境部署

一、Spark 核心架构与应用场景 1.1 分布式计算引擎的核心优势 Spark 是基于内存的分布式计算框架&#xff0c;相比 MapReduce 具有以下核心优势&#xff1a; 内存计算&#xff1a;数据可常驻内存&#xff0c;迭代计算性能提升 10-100 倍&#xff08;文档段落&#xff1a;3-79…...

06 Deep learning神经网络编程基础 激活函数 --吴恩达

深度学习激活函数详解 一、核心作用 引入非线性:使神经网络可学习复杂模式控制输出范围:如Sigmoid将输出限制在(0,1)梯度传递:影响反向传播的稳定性二、常见类型及数学表达 Sigmoid σ ( x ) = 1 1 +...

python执行测试用例,allure报乱码且未成功生成报告

allure执行测试用例时显示乱码&#xff1a;‘allure’ &#xfffd;&#xfffd;&#xfffd;&#xfffd;&#xfffd;ڲ&#xfffd;&#xfffd;&#xfffd;&#xfffd;ⲿ&#xfffd;&#xfffd;&#xfffd;Ҳ&#xfffd;&#xfffd;&#xfffd;ǿ&#xfffd;&am…...

AI,如何重构理解、匹配与决策?

AI 时代&#xff0c;我们如何理解消费&#xff1f; 作者&#xff5c;王彬 封面&#xff5c;Unplash 人们通过信息理解世界。 曾几何时&#xff0c;PC 与移动互联网重塑了人们的购物路径&#xff1a;信息变得唾手可得&#xff0c;商品决策变得高度依赖内容。 但 AI 时代的来…...

C/C++ 中附加包含目录、附加库目录与附加依赖项详解

在 C/C 编程的编译和链接过程中&#xff0c;附加包含目录、附加库目录和附加依赖项是三个至关重要的设置&#xff0c;它们相互配合&#xff0c;确保程序能够正确引用外部资源并顺利构建。虽然在学习过程中&#xff0c;这些概念容易让人混淆&#xff0c;但深入理解它们的作用和联…...

多模态图像修复系统:基于深度学习的图片修复实现

多模态图像修复系统:基于深度学习的图片修复实现 1. 系统概述 本系统使用多模态大模型(Stable Diffusion Inpainting)实现图像修复功能,结合文本描述和图片输入,对指定区域进行内容修复。系统包含完整的数据处理、模型训练、推理部署流程。 import torch import numpy …...