python将pdf文件切分成每页一个pdf

有时候扫描了一堆文件形成一个pdf文件,但最后需要每页文件都另存为一个pdf,用以下代码可以实现。

import os
from PyPDF2 import PdfReader, PdfWriter

def split_pdf(input_pdf_path):
    # Ensure PyPDF2 is installed: pip install PyPDF2
    
    # 读取输入PDF文件
    input_pdf = PdfReader(input_pdf_path)
    
    # 获取PDF文件的基本名称(不带扩展名)
    file_base_name = os.path.splitext(os.path.basename(input_pdf_path))[0]
    
    # 获取PDF文件所在的目录路径
    output_dir = os.path.dirname(input_pdf_path)
    
    # 遍历PDF文件的每一页
    for page_num in range(len(input_pdf.pages)):
        # 创建一个新的PdfWriter对象
        pdf_writer = PdfWriter()
        
        # 将当前页添加到PdfWriter对象中
        pdf_writer.add_page(input_pdf.pages[page_num])
        
        # 生成输出PDF文件的路径,文件名为原文件名加上页码后缀
        output_pdf_path = os.path.join(output_dir, f"{file_base_name}_page_{page_num + 1}.pdf")
        
        # 打开输出PDF文件并写入当前页的内容
        with open(output_pdf_path, 'wb') as output_pdf_file:
            pdf_writer.write(output_pdf_file)
        
        # 打印创建的PDF文件的路径
        print(f"Created: {output_pdf_path}")

# 示例用法
input_pdf_path = "XX/your_pdf_file.pdf"  # 替换为实际的PDF路径
split_pdf(input_pdf_path)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值