52  PyMuPDF

52.1 将pdf提取为单页文件

import os
import fitz   # pip install PyMuPDF

# 每页单独提取出来
def extract_pages_from_pdf(pdf_path):
    pdf = fitz.open(pdf_path)
    num_pages = pdf.page_count
    print(num_pages)
    file_name = os.path.splitext(os.path.basename(pdf_path))[0]
    
    for page_num in range(num_pages):
        page = pdf.load_page(page_num)
        output = f"data/pdf/{file_name}_page{str(page_num+1).zfill(4)}.pdf"
        
        writer = fitz.open()
        writer.insert_pdf(pdf, from_page=page_num, to_page=page_num)
        writer.save(output)
        
    pdf.close()

extract_pages_from_pdf('data/HuLinhui - PDF检验数据提取.pdf')