Python办公自动化教程(002):PDF的拆分与合并

ops/2024/12/22 20:37:29/

1、PyPDF2 介绍

介绍:

PyPDF2是一个用于处理PDF文件的Python库,它提供了丰富的功能来读取、编辑、合并、拆分PDF文档,以及提取文本、图像和其他内容。

功能:

  1. 读取PDF:PyPDF2可以轻松地打开和读取PDF文件,获取文档信息(如标题、作者、创建日期等)以及页面数量和页面尺寸。
  2. 页面操作:支持页面的合并、拆分、旋转、裁剪等操作,以及删除、插入新页面等。
  3. 加密与解密:可以对PDF文件进行加密和解密操作,保护文件内容的安全。
  4. 添加水印:可以在PDF页面上添加文本或图片水印,支持调整水印的透明度和位置。
  5. 表单操作:能够读取和填写PDF表单数据,创建、修改和删除表单字段。
  6. 元数据操作:可以获取和设置PDF文档的元数据,如标题、作者、主题等。
  7. 书签与链接:支持添加、修改和删除PDF文档中的书签和链接。

2、PDF文档拆分与合并

2.1 PDF拆分

【1】完整代码

python">from PyPDF2 import PdfWriter, PdfReaderpdf_reader = PdfReader('./file/test.pdf')
print(len(pdf_reader.pages))for i in range(len(pdf_reader.pages)):# 创建pdf_write = PdfWriter()# 获取当前页的文本text = pdf_reader.pages[i]# 把文本写入到新的pdfpdf_write.add_page(text)# wb表示二进制文件的写入,pdf中因为不只有文本with open(f'./file/Python教程_{i+1}.pdf', 'wb') as file_wb:pdf_write.write(file_wb)print('拆分完成')

【2】拆分结果

在这里插入图片描述

2.2 PDF合并

将上一步拆分之后的PDF文件重新合并为新的文件【Python教程_merge.pdf

【1】代码

python">import os
import re
from PyPDF2 import PdfWriter, PdfReaderfiles = os.listdir('./file')
# 拿到拆分之后的文件
all_files = []
for file in files:if re.search(r'_\d', file):all_files.append(file)
print(all_files)# 创建pdf写入器
pdf_write = PdfWriter()
for file in all_files:pdf_reader = PdfReader(f'./file/{file}')# 遍历pdf页码,因为不确定当前的pdf是否只有一页for i in range(len(pdf_reader.pages)):# 获取当前页的文本text = pdf_reader.pages[i]# 把文本写入到新的pdfpdf_write.add_page(text)# wb表示二进制文件的写入,pdf中因为不只有文本
with open(f'./file/Python教程_merge.pdf', 'wb') as file_wb:pdf_write.write(file_wb)print('合并完毕')

【2】合并结果

在这里插入图片描述


http://www.ppmy.cn/ops/114851.html

相关文章

安卓13去掉下拉菜单的Dump SysUI 堆的选项 android13删除Dump SysUI 堆

总纲 android13 rom 开发总纲说明 文章目录 1.前言2.问题分析3.代码分析3.1 位置13.2 位置24.代码修改5.编译6.彩蛋1.前言 客户需要去掉下拉菜单里面的Dump SysUI 堆图标,不让使用这个功能。 2.问题分析 android的下拉菜单在systemui里面,这里我们只需要定位到对应的添加代…

CentOS:稳定的服务器操作系统选择

在当今的IT环境中,选择合适的操作系统对于服务器的稳定性和安全性至关重要。CentOS(Community ENTerprise Operating System)作为一个基于Red Hat Enterprise Linux(RHEL)的开源操作系统,因其稳定性和安全性…

TypeScript 类型断言

一、TypeScript 类型断言的语法 1. <Type>value let someValue: any "Hello"; let strLength: number (<string>someValue).length; 2. value as Type let someValue: any "Hello"; let strLength: number (someValue as string).lengt…

PostgreSQL 基础操作

PostgreSQL&#xff08;简称pgsql&#xff09;的基础命令行操作涉及多个方面&#xff0c;包括数据库和表的管理、数据操作以及系统信息的查询等。以下是一些常用的PostgreSQL基础命令行操作&#xff1a; 1. 数据库管理 创建数据库&#xff1a; CREATE DATABASE 数据库名;例如…

Elastic 的 OpenTelemetry PHP 发行版简介

作者&#xff1a;Pawel Filipczak 宣布 OpenTelemetry PHP 的 Elastic 发行版的第一个 alpha 版本。在本篇博文中了解使用 OpenTelemetry 来检测 PHP 应用程序是多么简单。 我们很高兴推出 OpenTelemetry PHP 的 Elastic Distribution 的第一个 alpha 版本。在这篇文章中&…

什么是CPQ?一文讲解什么是CPQ选型配置报价系统

什么是CPQ选型配置报价? CPQ&#xff0c;是英文名 Configure Price Quote的缩写&#xff0c;中文称为配置报价软件。该软件经常出现在销售行业。它是一种可以快速为企业报价的销售工具。企业在报价时&#xff0c;会综合考虑数量、折扣、产品可选功能等。CPQ软件能够整合企业的…

CSS 布局三大样式简单学习

目录 1. css 浮动 1.1 效果1 1.2 效果2 1.3 效果3 1.4 效果4 2. css 定位 2.1 absolute 2.2 relative 2.3 fixed 3. css 盒子模型 3.1 效果1 3.2 效果2 3.3 效果3 3.4 效果4 1. css 浮动 1.1 效果1 1.2 效果2 1.3 效果3 1.4 效果4 2. css 定位 2.1 absolute 2.2 …

Stable Diffusion 使用详解(12)--- 设计师风格变换

目录 背景 seg模型&#xff08;语义分割&#xff09; 描述 原理 实战-装修风格变换 现代风格 欧式风格转换 提示词及相关参数设置 模型选择 seg cn 加持 效果 还能做点啥 问题 解决方法 出图效果 二次优化调整 二次出图效果 地中海风格转换 参数修改 效果 …