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)
相关推荐
万少21 小时前
记第一次鸿蒙应用上架之旅:一场略带遗憾的旅途
前端·harmonyos
鹏多多21 小时前
H5开发避坑!解决Safari浏览器的video会覆盖z-index:1的绝对定位元素
前端·javascript·vue.js
恋猫de小郭21 小时前
来了解一下,为什么你的 Flutter WebView 在 iOS 26 上有点击问题?
android·前端·flutter
charlie11451419121 小时前
CSS学习笔记5:CSS 盒模型 & Margin 注意事项
前端·css·笔记·学习·教程
CodeSheep21 小时前
稚晖君公司的最新工资和招人标准
前端·后端·程序员
亿元程序员21 小时前
今天我去面试游戏开发,说我回答得不全面...
前端
不会kao代码的小王21 小时前
零基础也能搭博客?
linux·windows·后端
程序员爱钓鱼21 小时前
Python编程实战 - Python实用工具与库 - 爬虫防封与代理机制
后端·python·ipython
一只小阿乐21 小时前
vue3封装alert 提示组件 仿element-plus
前端·javascript·vue.js·vue3
程序员爱钓鱼21 小时前
Python编程实战 - Python实用工具与库 - 操作Excel:openpyxl / pandas
后端·python·面试