pu369com

如何使用python进行pdf文件分割

1.安装 PyPDF2 包

pip install PyPDF2

import PyPDF2

2.在 PyPDF2 库中,可以使用以下代码打开 PDF 文件:

1
2
3
pdf_file = open('filename.pdf', 'rb')
pdf_reader = PyPDF2.PdfFileReader(pdf_file)
total_pages = pdf_reader.numPages

3.下面代码将每一页分开

1
2
3
4
5
6
7
8
9
10
11
12
13
from  PyPDF2 import PdfFileReader,PdfFileWriter
 
pdf_path = r"F:\工作\1.pdf"
save_path = r"F:\工作\a\a"
# Split Pages of PDF
pdf_reader = PdfFileReader(pdf_path)
for i in range(0,pdf_reader.getNumPages()):
    pdf_writer = PdfFileWriter()
    pdf_writer.addPage(pdf_reader.getPage(i))
    # Every page write to a path
    with open(save_path+'{}.pdf'.format(str(i)), 'wb') as fh:
        pdf_writer.write(fh)
    print('{} Save Sucessfully !\n'.format(str(i)))

4.  2个PDF 文件合并为1个

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
from  PyPDF2 import PdfFileReader,PdfFileWriter
 
merge_pdf = r"F:\工作\z.pdf"
p1_pdf = r"F:\工作\a\a0.pdf"
p2_pdf = r"F:\工作\a\a1.pdf"
 
p1_reader = PdfFileReader(p1_pdf)
p2_reader = PdfFileReader(p2_pdf)
 
merge = PdfFileWriter()
# Write p1
for i in range(0,p1_reader.getNumPages()):
    merge.addPage(p1_reader.getPage(i))
# Write p2
for j in range(0,p2_reader.getNumPages()):
    merge.addPage(p2_reader.getPage(j))
# Write out
with open(merge_pdf,'wb') as f:
    merge.write(f)

  

5.将多个单页合并成一页

1
2
3
4
5
6
7
8
9
10
11
12
13
14
from  PyPDF2 import PdfFileReader,PdfFileWriter
 
merge_pdf = r"F:\工作\z.pdf"
p_pdf = r"F:\工作\a\a"
 
merge = PdfFileWriter()
 
for i in range(220,227):
    p_reader = PdfFileReader(p_pdf + str(i) +'.pdf')
    for i in range(0,p_reader.getNumPages()):
        merge.addPage(p_reader.getPage(i))
# Write out
with open(merge_pdf,'wb') as f:
    merge.write(f)

6. 直接截至pdf中的某几页

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
from  PyPDF2 import PdfFileReader,PdfFileWriter
 
#用偏量实现纸质书页码向电子书页码的转换
offset  = 11
#纸质书页码范围
page_start = 10
page_end = 15
all_pdf = r"F:\工作\a.pdf"
part_pdf = r"F:\工作\p.pdf"
p_reader = PdfFileReader(all_pdf)
p_writer = PdfFileWriter()
for i in range(page_start + offset ,page_end + offset + 1):
    p_writer.addPage(p_reader.getPage(i))
with open(part_pdf,'wb') as f:
    p_writer.write(f)

  

 

参考:https://pythonjishu.com/ugmvrnorpclhikd/

https://zhuanlan.zhihu.com/p/357378479?utm_id=0

posted on   pu369com  阅读(345)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
· AI 智能体引爆开源社区「GitHub 热点速览」
历史上的今天:
2016-09-23 Go语言实现简单的一个静态WEB服务器
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示