python 图片文字转换成word_Python实现PDF转Words(文字提取)

这篇博客分享了一种利用Python和OCR技术将PDF中的文字提取出来的方法。首先通过在线工具将PDF转换为图片,然后使用百度AI的API接口和Python SDK识别图片中的文字。博主提供了详细的步骤,包括如何注册获取API密钥,以及如何编写Python代码进行文件遍历和识别,最终将结果保存到文本文件中。这个方法对于处理不能复制的PDF文档非常实用。
摘要由CSDN通过智能技术生成

起因

最近报了一个PMP的培训班,然后呢,给我的一些资料是PDF文档,且不可以复制,那么,我自己的学习整理的时候,就有点不方便,所以想把PDF中的文字提取出来。

犹记得还在读书的时候,老师为了将PDF转WORD让我们找各种各样的工具,最后经过一番折腾,目的是达成了,但是安装了一个很大的工具,这工具还不好找,且是国外的,每次跑起来,我的电脑都呼呼的响,现在好啦,曾经想都不敢想的事情,现在轻轻松松就做到了。

这个你值得了解一下,有免费的接口服务,做一些日常使用的小工具,足够啦

注册账号登录,找到文字识别,创建一个应用

635258-20200615232651678-787384721.png

创建应用之后,你分别会得到AppID,API Key,Secret Key这三个值

然后找到文件识别的SDK文档

635258-20200615232716596-1868449540.png

SDK提供了各种语言的版本,但是我会优先选择Python,为什么了?快啊!方便啊!

pip install baidu-aip

看了SDK之后,你会发现它只支持识别图片,莫慌,办法我已经帮你想好了,直接访问这个网址[戳我](看这个网址的后缀,应该是用.Net写的),就可以在线将PDF转成图片格式,比如Jpeg

然后,就是直接上Python代码了,一般生成的图片文件名:

061416404698_0第五章模拟题项目范围管理_1.Jpeg

061416404698_0第五章模拟题项目范围管理_2.Jpeg

061416404698_0第五章模拟题项目范围管理_10.Jpeg

Python遍历文件夹之后得到的列表顺序是这样子的

['061416404698_0第五章模拟题项目范围管理_1.Jpeg','061416404698_0第五章模拟题项目范围管理_10.Jpeg','061416404698_0第五章模拟题项目范围管理_2.Jpeg']

所以,要对文件名做一个排序

import os

from aip import AipOcr

""" 你的 APPID AK SK """

APP_ID = '换成你申请的AppID'

API_KEY = '换成你申请的API Kye'

SECRET_KEY = '换成你申请的Secret Key'

words_fiilter = ['这里例举你要过滤掉的一些字符',]

client = AipOcr(APP_ID, API_KEY, SECRET_KEY)

""" 读取图片 """

def get_file_content(filePath):

with open(filePath, 'rb') as fp:

return fp.read()

""" 删除之前的识别结果 """

if os.path.exists("result.txt"):

os.remove("result.txt")

directory = input("请输入文件夹路径:")

for root, dirs, files in os.walk(directory): # 开始遍历文件

# 遍历文件

# 将文件重新排序

files.sort(key=lambda x: int(x.split('_')[2].split('.')[0]))

for f in files:

src = os.path.join(root, f)

image = get_file_content(src)

""" 调用通用文字识别, 图片参数为本地图片 """

result = client.basicGeneral(image)

words_result = result["words_result"]

for words in words_result:

content = words["words"]

if content in words_fiilter: # 过滤掉 页眉 页脚 和水印等信息

continue

print(content)

with open("result.txt", 'a', encoding='utf-8') as f:

f.write(content+'\n')

直接运行,输入文件夹路径,识别的内容会输出到result.txt的文件中,搞定!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值