pdf合并(python)

工具代码,背景是某门课的ppt章节分类得过于详细,比如1.01,然后一份pdf文件只有几页,故借助PyPDF2进行pdf文件合并。

python 复制代码
import os
import copy
from PyPDF2 import PdfMerger

target_path = 'D:\\study\\大四上\\生物信息\\ppt'
pdf_lst = [f for f in os.listdir(target_path) if f.endswith('.pdf')]

classified_lst = []
t = []
prefix = None
for filename in pdf_lst:
    if not filename[0].isdigit():
        continue
    if prefix is None or filename[0] == prefix:
        prefix = filename[0]
    else:
        prefix = filename[0]
        classified_lst.append(copy.deepcopy(t))     # 深浅拷贝问题
        t.clear()
    t.append(filename)
classified_lst.append(t)

fclassified_lst = []
for x in classified_lst:
    t = []
    for y in x:
        t.append(os.path.join(target_path, y))
    fclassified_lst.append(t)

# 将相同的章节合并到一个pdf中
num = 1
file_merger = PdfMerger()
for chapter in fclassified_lst:
    for pdf in chapter:
        file_merger.append(pdf)
    file_merger.write(target_path + "\\sum\\chapter" + str(num) + ".pdf")
    num += 1
    file_merger = PdfMerger()

print("done!")
相关推荐
自由随风飘1 小时前
python 题目练习1~5
开发语言·python
fl1768313 小时前
基于python的天气预报系统设计和可视化数据分析源码+报告
开发语言·python·数据分析
闲人编程4 小时前
Python与区块链:如何用Web3.py与以太坊交互
python·安全·区块链·web3.py·以太坊·codecapsule
Want5954 小时前
Python汤姆猫
开发语言·python
花姐夫Jun5 小时前
基于Vue+Python+Orange Pi Zero3的完整视频监控方案
vue.js·python·音视频
像风一样自由20206 小时前
Rust与Python完全指南:从零开始理解两门语言的区别与关系
开发语言·python·rust
房开民6 小时前
RKNN-Toolkit2入门
python
岁岁岁平安7 小时前
本机 MongoDB 注册系统服务、启用security认证
数据库·python·mongodb
程序员大雄学编程7 小时前
用Python来学微积分30-微分方程初步
开发语言·python·线性代数·数学·微积分