python实现批量pdf转txt和word

文章目录

背景需求

已经获取到了大量的pdf在download文件夹中,但是我需要的是txt文件和word文件~

环境安装

复制代码
pip install pdf2docx pdfminer.six

完整代码

复制代码
# pip install pdf2docx pdfminer.six

import os
from pdf2docx import Converter
from pdfminer.high_level import extract_text
# 忽略警告
import warnings
warnings.filterwarnings("ignore", category=UserWarning, module="pdf2docx")

# pdf转txt
def pdf_to_txt(pdf_path, txt_path):
    text = extract_text(pdf_path)
    with open(txt_path, 'w', encoding='utf-8') as f:
        f.write(text)

# pdf转word
def pdf_to_docx(pdf_path, docx_path):
    cv = Converter(pdf_path)
    cv.convert(docx_path, start=0, end=None)
    cv.close()

# 分批转换,文件格式检测
def batch_convert(download_folder, data_folder, output_format='txt'):
    # 确保输出文件夹存在
    if not os.path.exists(data_folder):
        os.makedirs(data_folder)

    # 遍历download文件夹中的所有PDF文件
    for filename in os.listdir(download_folder):
        if filename.endswith('.pdf'):
            pdf_path = os.path.join(download_folder, filename)

            if output_format == 'txt':
                txt_filename = os.path.splitext(filename)[0] + '.txt'
                txt_path = os.path.join(data_folder, txt_filename)
                pdf_to_txt(pdf_path, txt_path)

            elif output_format == 'docx':
                docx_filename = os.path.splitext(filename)[0] + '.docx'
                docx_path = os.path.join(data_folder, docx_filename)
                pdf_to_docx(pdf_path, docx_path)


# 转换txt
batch_convert('download', 'data_txt', output_format='txt')
# 转换word文件
batch_convert('download', 'data_docx', output_format='docx')

效果

相关推荐
天赐范式5 分钟前
天赐范式第186天:让方差开始自洽——Bulmer效应的闭式验证
python·数字生命·天赐范式·动态运行时·遗传方差·bulmer效应
泡茶喝茶写代码7 分钟前
A股量化数据工程:从 REST 接口到策略信号(第 8 篇):成长能力因子:营收与利润增速
java·python·股票数据api·股票数据api接口·股票量化数据api·股票量化数据接口·股票数据api数据
Είναι η κοπέλα1 小时前
显存计算与模型选择:你的显卡能跑多大的模型
人工智能·pytorch·python·开源·conda
ROSF68681 小时前
2026 仿石漆乳液供应商:市场布局与行业发展态势梳理
大数据·人工智能·python
青少儿编程课堂1 小时前
AC自动机多模式串匹配精讲:校园关键词巡检实战解析
c++·python·算法·bfs·信息学竞赛
hhzz2 小时前
【YOLO 入门到精通 04】理解任务与模型家族:7 大 CV 任务与 YOLO26 选型指南
人工智能·python·深度学习·yolo·计算机视觉
Escalating_xu2 小时前
【Python】使用库:标准库、第三方库、pip、项目实战与程序打包
java·python·pip
水獭比特2 小时前
Agent 工具审批不止一个按钮:用 v0.22.1 复盘入口、恢复和副作用
人工智能·python
苦瓜打怪兽2 小时前
leetcode 热题100(11. 盛最多水的容器)
python·算法·leetcode
砚底藏山河2 小时前
量化实战:回测数据底座快照与版本管理进阶
java·大数据·python·金融·maven