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)
相关推荐
2301_7641505610 小时前
WooCommerce 用户登录状态控制元素显隐的 CSS 实现方案
jvm·数据库·python
m0_7436239210 小时前
CSS如何解决响应式布局中文字溢出_通过text-overflow-ellipsis处理
jvm·数据库·python
2401_8359568110 小时前
Go语言中 & 与 -:指针取址与解引用的完整解析
jvm·数据库·python
2401_8371638910 小时前
如何为容器内多个列表实现统一滚动条
jvm·数据库·python
m0_6742946410 小时前
C#怎么清空Dictionary字典_C#如何管理内存集合【基础】
jvm·数据库·python
2402_8548083710 小时前
MongoDB GridFS分片时选择什么键比较好
jvm·数据库·python
2301_7965885010 小时前
mysql如何统计不同状态的数量_使用group by配合count函数
jvm·数据库·python
qq_1898070310 小时前
HTML怎么实现快捷跳转顶部_HTML固定悬浮锚点按钮【介绍】
jvm·数据库·python
qingyulee10 小时前
python-time、datetime、calendar
python
m0_7478545210 小时前
c++怎么在写入文本文件时自动将所有换行符统一为Unix风格【详解】
jvm·数据库·python