有时候搞了些学习资料文件太大,需要拆分下来发,用wps还得充会员,研究了下原来python早有工具包
from PyPDF2 import PdfReader, PdfWriter
def split_pdf(input_path, output_folder, page_ranges):
"""
按指定页面范围分割 PDF 文件。
:param input_path: 输入 PDF 文件路径
:param output_folder: 输出文件夹路径
:param page_ranges: 页面范围列表,例如 [(0, 2), (3, 5)]
"""
# 打开 PDF 文件
pdf_reader = PdfReader(input_path)
for i, (start, end) in enumerate(page_ranges):
# 创建一个新的 PDF 写入器
pdf_writer = PdfWriter()
# 将指定范围的页面添加到新 PDF 中
for page_num in range(start, end + 1):
pdf_writer.add_page(pdf_reader.pages[page_num])
# 保存新的 PDF 文件
output_path = f"{output_folder}/part_{i + 1}.pdf"
with open(output_path, "wb") as output_file:
pdf_writer.write(output_file)
# 使用示例
input_path = "c:\Users\11.pdf"
output_folder = "output" # 输出文件夹路径
page_ranges = [(0, 90), (91, 179)] # 页面范围列表
split_pdf(input_path, output_folder, page_ranges)