👉 项目官网:https://www.python-office.com/ 👈

github star

大家好,这里是程序员晚枫,正在all in AI编程实战

你有没有遇到过这些情况:

  • 纸质文件拍的照片,想提取里面的文字
  • 截图里的内容要手动输入
  • 扫描件PDF要转成可编辑的文字

今天教你怎么用 python-office 的 OCR 功能,1行代码从图片提取文字。

1、OCR识别:图片转文字

1
2
3
4
5
6
import office

# 1行代码OCR识别
text = office.ocr.text(path='图片.png')

print(text)

运行后,图片里的文字全部提取出来了!

🎉 Done!图片秒变文字!

2、识别发票

财务的发票要录入系统?

1
2
3
4
5
6
import office

# 识别发票
text = office.ocr.invoice(path='发票.png')

print(text)

专门针对发票格式优化,提取效果更好。

3、识别银行卡

1
2
3
4
5
6
7
8
import office

# 识别银行卡
info = office.ocr.bankcard(path='银行卡.jpg')

print(f'银行: {info["bank"]}')
print(f'卡号: {info["card_number"]}')
print(f'类型: {info["card_type"]}')

4、识别车牌

1
2
3
4
5
6
7
import office

# 识别车牌
plate = office.ocr.plate(path='车牌.jpg')

print(f'车牌号: {plate["plate_number"]}')
print(f'颜色: {plate["color"]}')

5、实战案例:批量识别名片

收集了一堆名片,要录入CRM系统:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
import office
import os

def batch_recognize_cards(folder):
"""批量识别名片"""
results = []

for file in os.listdir(folder):
if file.endswith(('.jpg', '.png')):
path = os.path.join(folder, file)
try:
text = office.ocr.text(path=path)
results.append({
'文件名': file,
'识别内容': text
})
print(f'识别成功: {file}')
except Exception as e:
print(f'识别失败: {file} - {e}')

# 写入Excel
office.excel.write(path='名片汇总.xlsx', data=results)
print(f'共识别 {len(results)} 张名片')

batch_recognize_cards('名片文件夹')

6、实战案例:识别发票自动录入

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
import office
import os

def process_invoices(folder):
"""处理发票文件夹"""
results = []

for file in os.listdir(folder):
if file.endswith(('.jpg', '.png', '.pdf')):
path = os.path.join(folder, file)
text = office.ocr.invoice(path=path)

# 提取关键信息(正则匹配)
import re
amount = re.findall(r'[¥$](\d+\.?\d*)', text)

results.append({
'文件名': file,
'发票内容': text,
'金额': amount[0] if amount else '未识别'
})

office.excel.write(path='发票汇总.xlsx', data=results)
print('发票处理完成!')

process_invoices('发票文件夹')

7、常见问题

Q:识别准确率不高?

A:确保图片清晰,光线充足,不要有太多阴影。

Q:识别太慢?

A:可以用 office.ocr.text(path, lang='en') 只识别英文,速度更快。

Q:Mac上能用吗?

A:可以,但需要联网调用API。

8、下讲预告

学会了OCR,下一讲我们学 微信机器人——自动回复消息、管理群聊。

敬请期待!


有问题欢迎加微信 python-office 进群交流~

程序员晚枫专注AI编程培训,小白看完他和图灵社区合作的教程《30讲 · AI编程训练营》就能上手做AI项目。

🎓 AI 编程实战课程

想系统学习 AI 编程?程序员晚枫的 AI 编程实战课 帮你从零上手!