1、PyPDF2 介绍
介绍:
PyPDF2是一个用于处理PDF文件的Python库,它提供了丰富的功能来读取、编辑、合并、拆分PDF文档,以及提取文本、图像和其他内容。
功能:
- 读取PDF:PyPDF2可以轻松地打开和读取PDF文件,获取文档信息(如标题、作者、创建日期等)以及页面数量和页面尺寸。
- 页面操作:支持页面的合并、拆分、旋转、裁剪等操作,以及删除、插入新页面等。
- 加密与解密:可以对PDF文件进行加密和解密操作,保护文件内容的安全。
- 添加水印:可以在PDF页面上添加文本或图片水印,支持调整水印的透明度和位置。
- 表单操作:能够读取和填写PDF表单数据,创建、修改和删除表单字段。
- 元数据操作:可以获取和设置PDF文档的元数据,如标题、作者、主题等。
- 书签与链接:支持添加、修改和删除PDF文档中的书签和链接。
2、PDF文档拆分与合并
2.1 PDF拆分
【1】完整代码
from PyPDF2 import PdfWriter, PdfReader
pdf_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]
# 把文本写入到新的pdf
pdf_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】代码
import os
import re
from PyPDF2 import PdfWriter, PdfReader
files = 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]
# 把文本写入到新的pdf
pdf_write.add_page(text)
# wb表示二进制文件的写入,pdf中因为不只有文本
with open(f'./file/Python教程_merge.pdf', 'wb') as file_wb:
pdf_write.write(file_wb)
print('合并完毕')
【2】合并结果