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')

效果

相关推荐
郝学胜-神的一滴3 分钟前
Python 高级编程 019:类变量与实例变量彻底解析
开发语言·python·程序人生·软件构建
CTA量化套保21 分钟前
期货量化临期合约还能不能做:程序化到期禁开与强平写法
python·区块链
量化君也30 分钟前
快速入门量化交易都要学些什么?
大数据·人工智能·python·算法·金融
吴卫斌31 分钟前
行业ETF轮动策略实战(二):精选候选池——打造你的赛道武器库
大数据·python·股票·量化交易
Tbisnic36 分钟前
AI大模型学习 第十天:让程序“指挥”大模型 —— 从对话到工具调用
人工智能·python·ai·大模型·react·cot·提示词工程
伊布拉西莫39 分钟前
Flask 请求生命周期
后端·python·flask
站大爷IP1 小时前
那天,我的Python函数死活改不了全局变量
python
右耳朵猫AI1 小时前
Python周刊2026W22 | Django 6.1 Alpha 1发布、Nuitka 4.1发布、PEP 831终稿、PEP 808已接受
开发语言·python·django
Wonderful U1 小时前
Python+Django实战|美食菜谱分享与食材采购一体化系统:食谱发布收藏、图文教程、食材商城、购物车、订单管理、美食点评、智能食谱推荐
python·django·美食