PyPDF2,一个PDF文件处理的Python库!超级好用

文摘   2024-10-29 19:02   上海  

哈喽,大家好!我是风哥,一个资深Python工程师。今天给大家分享一个处理PDF文件的Python库——PyPDF2。日常工作学习中,我们经常会和PDF文件打交道,比如合并、拆分、旋转等等。有了PyPDF2,这些操作在Python里就能轻松搞定!

一、PyPDF2简介

PyPDF2是一个纯Python的PDF文件处理库,它可以用来读取、合并、拆分、旋转PDF页面等等。它不依赖外部软件,安装也超级简单,直接用pip命令就行:pip install PyPDF2

注意事项: PyPDF2主要用于处理未加密的PDF文件。对于加密的PDF,它可能无法正常工作,或者需要提供密码才能操作。

二、读取PDF文件

读取PDF文件是使用PyPDF2的第一步。我们可以用PdfReader对象来打开和读取PDF文件。

1from PyPDF2 import PdfReader
2
3reader = PdfReader("example.pdf")  # 将 "example.pdf" 替换成你的PDF文件名
4num_pages = len(reader.pages)
5print(f"这个PDF文件有 {num_pages} 页")
6
7page = reader.pages[0# 获取第一页
8text = page.extract_text()
9print(text)

注意事项:#### 读取PDF的时候,文件名一定要写对,包括路径。另外,extract_text()方法在提取文本时,对于复杂的PDF布局,可能会出现一些格式错乱的情况。

三、合并PDF文件

合并多个PDF文件也很简单,用PdfWriter和PdfReader就能搞定。

 1from PyPDF2 import PdfReader, PdfWriter
2
3merger = PdfWriter()
4
5pdf_files = ["1.pdf""2.pdf""3.pdf"# 将文件名替换成你要合并的文件名
6
7for pdf_file in pdf_files:
8    reader = PdfReader(pdf_file)
9    for page in reader.pages:
10        merger.add_page(page)
11
12with open("merged.pdf""wb"as output_file:  # 合并后的文件保存为 "merged.pdf"
13    merger.write(output_file)
1

注意事项:#### 合并PDF时,确保所有要合并的文件都存在,并且路径正确。合并后的文件名不要和已有的文件名重复,否则会覆盖掉原来的文件。

四、旋转PDF页面

有时候我们需要旋转PDF页面,比如扫描的文档方向不对。PyPDF2也提供了旋转页面的功能。

 1from PyPDF2 import PdfReader, PdfWriter
2
3reader = PdfReader("example.pdf")
4writer = PdfWriter()
5
6page = reader.pages[0]  # 获取要旋转的页面
7page.rotate(90)  # 旋转90度,可以是90, 180, 270
8writer.add_page(page)
9
10with open("rotated.pdf""wb"as output_file:
11    writer.write(output_file)

注意事项:旋转角度必须是90的倍数。每次旋转都是基于页面的当前方向进行的,而不是原始方向。

五、提取PDF页面

如果只想提取PDF文件中的某些页面,PyPDF2也可以做到。

 1from PyPDF2 import PdfReader, PdfWriter
2
3reader = PdfReader("example.pdf")
4writer = PdfWriter()
5
6pages_to_extract = [025]  # 要提取的页码,从0开始
7
8for page_num in pages_to_extract:
9    page = reader.pages[page_num]
10    writer.add_page(page)
11
12with open("extracted.pdf""wb"as output_file:
13    writer.write(output_file)

注意事项:页码是从0开始计数的,别搞错了。提取的页码不能超过PDF文件的总页数。

**写在最后

今天的PyPDF2分享就到这里,希望能帮助大家更好地处理PDF文件。实践出真知,赶紧动手试试吧!如果在使用过程中遇到什么问题,欢迎在评论区留言,风哥看到后会第一时间回复大家。我们下次再见!

py学习基地ai
分享生活百态,情感故事,了解不一样的人生
 最新文章