点击上方的蓝字和下方的卡片关注我,一起踏上数据分析进阶之路!

pip install PyPDF2 conda install PyPDF2 按固定页数拆分(示例:每 50 页一个 PDF):
from PyPDF2 import PdfReader, PdfWriterdef split_pdf(file_path, per_pages=50, save_dir="./"):reader = PdfReader(file_path)total = len(reader.pages)start = 0idx = 1while start < total:writer = PdfWriter()end = start + per_pages# 截取区间 [start, end)for p in range(start, min(end, total)):writer.add_page(reader.pages[p])out_name = f"{save_dir}拆分_{idx}_{start+1}-{min(end,total)}.pdf"with open(out_name, "wb") as f:writer.write(f)print(f"已生成:{out_name}")start = endidx += 1# ========== 修改这里参数 ==========if __name__ == "__main__":pdf_path = r"test.pdf" # 你的原PDF路径split_pdf(pdf_path, per_pages=50) # per_pages:每份多少页# 拆分后保存在指定路径下(传入参数即可)# save_folder = r"C:/Users/linda/Downloads/"# split_pdf(pdf_path, per_pages=50, save_folder)
自定义页码分段拆分(比如 [1-30,31-80,81-400]):
from PyPDF2 import PdfReader, PdfWriterdef split_by_ranges(pdf_path, ranges, save_dir="./"):reader = PdfReader(pdf_path)for i, (s, e) in enumerate(ranges, 1):writer = PdfWriter()for p in range(s-1, e): # PyPDF页码从0开始writer.add_page(reader.pages[p])out = f"{save_dir}分段_{i}_{s}-{e}.pdf"with open(out, "wb") as f:writer.write(f)print(out)if __name__ == "__main__":pdf = r"test.pdf"# 自定义多段:[(起始页,结束页),...]split_ranges = [(1,40),(41,90),(91,400)]split_by_ranges(pdf, split_ranges)# 拆分后保存在指定路径下(传入参数即可)# save_folder = r"C:/Users/linda/Downloads/"# split_by_ranges(pdf, split_ranges, save_folder)
欢迎关注我,一起学习数据知识,一起成长~
👇👇👇
装必要的库:
夜雨聆风