import fitz # 导入 PyMuPDF 库
def extract_pages(source_filepath, output_filepath, start_page, end_page):
# 打开源 PDF 文件
doc = fitz.open(source_filepath)
# 创建一个新的 PDF 文档对象,用于保存提取的页面
new_doc = fitz.open()
# 提取指定范围的页面
for page_num in range(start_page - 1, end_page): # 页面编号从 0 开始
new_doc.insert_pdf(doc, from_page=page_num, to_page=page_num)
# 保存新 PDF 文档到指定的输出文件路径
new_doc.save(output_filepath)
new_doc.close() # 关闭新创建的 PDF 文档,释放资源
# 指定输入文件的路径
input_file = ".pdf"
# 指定输出文件的路径
output_file = "output.pdf"
# 指定要提取的页面范围
start_page = 544 # 开始页面(例如第2页)
end_page = 595 # 结束页面(例如第5页)
# 调用 extract_pages 函数,传入输入文件、输出文件和页面范围
extract_pages(input_file, output_file, start_page, end_page)