python -从文件夹批量提取pdf文章的第n页,并存储起来

python -从文件夹批量提取pdf文章的第n页,并存储起来

废话不多说,看下面代码

讲解一下下面代码

reader = PyPDF2.PdfReader (file)

将文件转化为PdfReader 对象,方便使用内置方法。

first_page = reader.pages[0]

提取第一页

writer = PyPDF2.PdfWriter ()

writer.add_page (first_page)

writer.write(output_file)

将代码写入对应位置

python 复制代码
def process_folder(folder_path):
    # 遍历文件夹中的所有文件
    for filename in os.listdir(folder_path):
        if filename.endswith('.pdf'):
            pdf_path = os.path.join(folder_path, filename)
            print(pdf_path)
            output_path = os.path.join('D:\data\pdf_output', filename[0:-4]+'(首页)'+'.pdf')
            # 提取第一页并保存为同名文件
            extract_first_page(pdf_path, output_path)
            print(f"Processed {filename}")

读取某个文件夹下的所有pdf文件,并调用函数取出第一页,并写下来。

python 复制代码
import os
import PyPDF2

def extract_first_page(pdf_path, output_path):
    # 打开PDF文件
    with open(pdf_path, 'rb') as file:
        reader = PyPDF2.PdfReader (file)
        # 获取第一页
        first_page = reader.pages[0]
        # 写入新PDF文件
        with open(output_path, 'wb') as output_file:
            writer = PyPDF2.PdfWriter ()
            writer.add_page (first_page)
            writer.write(output_file)

def process_folder(folder_path):
    # 遍历文件夹中的所有文件
    for filename in os.listdir(folder_path):
        if filename.endswith('.pdf'):
            
            pdf_path = os.path.join(folder_path, filename)
            print(pdf_path)
            output_path = os.path.join('D:\data\pdf_output', filename[0:-4]+'(首页)'+'.pdf')
            # 提取第一页并保存为同名文件
            extract_first_page(pdf_path, output_path)
            print(f"Processed {filename}")

# 指定你的文件夹路径
folder_path = 'D:\data\pdf'
process_folder(folder_path)
相关推荐
惜.己几秒前
使用python读取json数据,简单的处理成元组数组
开发语言·python·测试工具·json
YuTaoShao8 分钟前
【LeetCode 热题 100】994. 腐烂的橘子——BFS
java·linux·算法·leetcode·宽度优先
退役小学生呀11 分钟前
十五、K8s可观测能力:日志收集
linux·云原生·容器·kubernetes·k8s
van叶~12 分钟前
Linux探秘坊-------15.线程概念与控制
linux·运维·服务器
汉得数字平台15 分钟前
【鲲苍提效】全面洞察用户体验,助力打造高性能前端应用
前端·前端监控
花海如潮淹22 分钟前
前端性能追踪工具:用户体验的毫秒战争
前端·笔记·ux
都叫我大帅哥1 小时前
Python的Optional:让你的代码优雅处理“空值”危机
python
Andy杨2 小时前
20250718-1-Kubernetes 应用程序生命周期管理-应用部署、升级、弹性_笔记
linux·docker·容器
曾几何时`3 小时前
基于python和neo4j构建知识图谱医药问答系统
python·知识图谱·neo4j
_丿丨丨_5 小时前
XSS(跨站脚本攻击)
前端·网络·xss