python实现批量pdf转txt和word

news2024/10/5 19:15:39

文章目录

    • 背景需求
    • 环境安装
    • 完整代码
    • 效果

背景需求

已经获取到了大量的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')

效果

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1127272.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【LeetCode刷题-数组】--27.移除元素

27.移除元素 class Solution {public int removeElement(int[] nums, int val) {int slow 0,fast 0,n nums.length;while(fast < n){if(nums[fast] ! val){nums[slow] nums[fast];slow;}fast;}return slow;} }

Real3D FlipBook jQuery Plugin 3.41 Crack

Real3D FlipBook 和 PDF 查看器 jQuery 插件 - CodeCanyon 待售物品 实时预览 截图 视频预览 Real3D Flipbook jQuery 插件 - 1 Real3D Flipbook jQuery 插件 - 2 Real3D Flipbook jQuery 插件 - 3 新功能 – REAL3D FLIPBOOK JQUERY 插件的 PDF 到图像转换器 一款用于将…

在亚马逊购买产品时怎么选择自动收货方式

在亚马逊购买产品时&#xff0c;通常可以在下单时选择不同的收货方式&#xff0c;包括自动收货方式。以下是一般的购买流程&#xff1a; 登录亚马逊账号&#xff1a;打开网站&#xff0c;登录账号&#xff0c;如果没有账号&#xff0c;可以先创建一个。 浏览和添加商品&#…

Java JSON字符串转换成JSONArray对象,遍历JSONArray

JSON字符串转换成JSONArray对象&#xff0c;遍历JSONArray&#xff1a; // 一个未转化的字符串 String str "[{name:a,value:aa},{name:b,value:bb},{name:c,value:cc},{name:d,value:dd}]" ;// 首先把字符串转成 JSONArray 对象 JSONArray jsonArray JSONArray.p…

初探亚马逊 AI 编程助手 CodeWhisperer

前言 4月18日&#xff0c;亚马逊云科技宣布&#xff0c;实时 AI 编程助手 Amazon CodeWhisperer 正式可用,同时推出的还有供所有开发人员免费使用的个人版&#xff08;CodeWhisperer Individual&#xff09;。Amazon CodeWhisperer 是一个通用的、由机器学习驱动的代码生成器&…

Windows下 MySql 5.7授权远程登陆

1.用管理员身份打开mysql Client 2.输入密码登录 3.使用mysql数据库&#xff0c;输入“use mysql” 4.查看当前服务中使用的用户 select host,user form user; 5.授权 grant all privileges on *.* to 用户名% identified by 密码 with grant option; 6.成功后&#xff0c;刷…

众和策略:612家公司三季报折射经济复苏力度

超七成前三季度效果同比添加 近三成第三季度效果环比添加 Choice数据闪现&#xff0c;到10月23日&#xff0c;已有612家A股公司宣告前三季度效果或效果预告&#xff0c;其间跨越七成公司结束同比添加&#xff0c;近三成公司第三季度结束了效果环比添加&#xff0c;充分彰显出中…

音视频(一)之使用FFMpeg工具推流并搭建流媒体服务器Nginx + RTMP

协议介绍 RTMP协议 全称&#xff1a;Real Time Messaging Protocol&#xff0c;实时消息传送协议介绍&#xff1a;是Adobe Systems公司为Flash播放器和服务器之间音频、视频和数据传输开发的开放协议协议&#xff1a;长连接TCP原理&#xff1a;每个时刻的数据收到后立刻转发延…

GB28181学习(十一)——控制(PTZ、镜头、光圈等控制)

要求 源设备向目标设备发送控制命令&#xff0c;控制命令类型包括&#xff1a; 摄像机云台控制远程启动录像控制报警布防/撤防报警复位强制关键帧拉框放大/缩小看守位控制PTZ精准控制存储卡格式化目标跟踪软件升级设备配置 设备配置的内容包括&#xff1a; 基本参数视频参数范…

ASO优化之什么是长尾关键词

通常长尾关键词的竞争通常较小&#xff0c;我们可以通过优化长尾关键词&#xff0c;来更轻松地在搜索结果中获得高排名。那么我们需要找到哪些应该优化的关键词以及如何优化。 1、长尾关键词的好处。 长尾关键字中添加的详细信息可以帮助缩小受众群体的范围&#xff0c;使得长…

python爬虫入门(四)爬取猫眼电影排行(使用requests库和正则表达式)

本例中&#xff0c;利用 requests 库和正则表达式来抓取猫眼电影 TOP100 的相关内容。 1.目标 提取出猫眼电影 TOP100 的电影名称、时间、评分、图片等信息&#xff0c;提取的站点 URL 为 http://maoyan.com/board/4&#xff0c;提取的结果会以文件形式保存下来。 2.抓取分析…

迅为龙芯2K1000开发板加载PMON镜像

注意&#xff1a;这里不建议大家在没有 Ejtag 的情况下对 PMON 进行操作&#xff0c;以免开发板变砖。 设置完网络后&#xff0c;我们输入命令 load -f 0xbfc00000 -r tftp://192.168.1.38/gzrom-dtb.bin&#xff0c;其中 192.168.1.38 为虚拟机 Ubuntu 的 IP 地址&#xff0…

数字孪生 Digital Twin 标准体系

1.什么是数字孪生&#xff1f; 数字孪生&#xff08;Digital T w in &#xff09;作为一种在信息世界刻画物理世界 、仿真物理世界 、优化物理世界 、可视化物理世界的重要技术 &#xff0c;为实现数字化转型 、智能化&#xff08;如智慧城市 、智能制造&#xff09; 、服务化 …

工业RFID系统识别原理

RFID技术是一种无线通信技术&#xff0c;可以实现非接触式的标签信息识别和读取&#xff0c;常常也被应用在工业生产、物流仓储等领域。工业RFID系统可以通过无线电信号识别和跟踪工业生产和管理领域中的物体&#xff0c;以下是工业RFID系统组成及相关应用介绍。 工业RFID系统组…

雅可比矩阵和雅可比坐标

雅可比行列式的简要介绍 一、说明 在本教程中&#xff0c;您将回顾一下雅可比行列式的简单介绍。完成本教程后&#xff0c;您将了解&#xff1a; 雅可比矩阵收集了可用于反向传播的多元函数的所有一阶偏导数。雅可比行列式在变量之间变化时非常有用&#xff0c;它充当一个坐标空…

阶段性学习小记

大家好&#xff0c;今天我们来详细的总结一下最近这段时间的习题。 习题一 #include<stdio.h> int main() {char arr[13] { 0 };int N 0;scanf("%d", &N);int k 0;int i 0;while (N){if (k ! 0 && k % 3 0)arr[i] ,;arr[i] N % 10 0;N / 1…

三步,金蝶K3的数据可视化了

数据可视化的一大特点就是“一图胜千言”&#xff0c;没什么能比图表更直观展现数据的了。那&#xff0c;金蝶K3系统上那海量数据能不能也做成数据可视化报表&#xff1f;操作复杂吗&#xff0c;难度大吗&#xff1f; 换了别的软件来做&#xff0c;操作多、难度大是板上钉钉&a…

重复性管理--从泛值到泛型以及泛函(中)--泛函是什么及为什么

在前面, 我们探讨了泛型范式在解决重复性问题上的应用, 在这里, 将继续探讨泛函范式在解决重复性问题上的作用. 注: 关于"泛函(functional)“这一名称, 前面说了, 泛型的本质是"参数化类型”, 那么, 按照这一思路, 泛函的意思也可以理解为"函数的参数化"或…

jvm垃圾回收算法有哪些及原理

目录 垃圾回收器1 Serial收集器2 Parallel收集器3 ParNew收集器4 CMS收集器5 G1回收器三色标记算法标记算法的过程三色标记算法缺陷多标漏标 垃圾回收器 垃圾回收机制&#xff0c;我们已经知道什么样的对象会成为垃圾。对象回收经历了什么——垃圾回收算法。那么谁来负责回收垃…

电子宣传册制作攻略,打造完美视觉效果

随着互联网的普及&#xff0c;电子宣传册已成为企业宣传的重要手段之一。但是你知道如何制作一份吸引人的电子宣传册&#xff0c;打造完美的视觉效果呢&#xff1f; 我们只需利用FLBOOK这个在线电子期刊制作平台&#xff0c;就可以打造出完美视觉效果的电子宣传册&#xff0c;操…