【原创实践】Windows 和 Linux 下使用 Python 3.10 搭建 PaddleOCRVL 识别图片并100%还原表格

本文介绍如何在 Windows 和 Linux 系统 下,基于 Python 3.10 虚拟环境 ,搭建一个用于 OCR(PaddleOCR / PaddleX)与 PDF 处理 的 Python 运行环境。

识别结果效果

## 案例参考图片

一、安装系统级依赖

Windows 系统

在 Windows 系统下,从 Python 官方网站 下载 Python 3.10 版本安装包,安装时勾选 "Add Python to PATH" 选项。

Linux 系统

在 Linux 系统下,安装 Python 3.10 及常用开发组件:

bash 复制代码
sudo apt update
sudo apt install -y \
  python3.10 \
  python3.10-venv \
  python3.10-dev \
  python3.10-distutils \
  python3-pip

这些组件分别用于:

  • python3.10:Python 解释器
  • venv:虚拟环境支持
  • dev / distutils:编译与打包依赖
  • pip:Python 包管理工具

二、创建并激活虚拟环境

1. 创建虚拟环境

bash 复制代码
python -m venv paddle_py10

2. 激活虚拟环境

Windows 系统
bash 复制代码
paddle_py10\\Scripts\\activate
Linux 系统
bash 复制代码
source paddle_py10/bin/activate

激活成功后,终端前会显示:

text 复制代码
(paddle_py10)

三、安装 PaddlePaddle(CPU 版本)

在虚拟环境中安装 PaddlePaddle CPU 版(适用于 Windows 和 Linux):

bash 复制代码
python -m pip install paddlepaddle -i https://www.paddlepaddle.org.cn/packages/stable/cpu/

📌 说明:

  • 使用官方国内镜像,下载速度更快
  • 该版本适合 无 GPU / CPU 推理环境
  • 自动检测操作系统并安装相应版本

四、安装 PDF 相关依赖

1. 安装 PyMuPDF(PDF 解析)

bash 复制代码
pip install PyMuPDF

主要用于:

  • PDF 页面解析
  • 文本 / 图片提取
  • PDF 转图片(OCR 前处理)

2. 安装 PaddleX(含 OCR 模块)

bash 复制代码
pip install "paddlex[ocr]"

功能包括:

  • OCR 模型封装
  • 文本检测 / 识别
  • 表格与版面分析

3. 安装 ReportLab(PDF 生成)

bash 复制代码
pip install reportlab

完整代码

复制代码
from paddleocr import PaddleOCRVL
from PIL import Image
import numpy as np

pipeline = PaddleOCRVL(
    device="cpu"
)

img = Image.open(
    "v2-f644e32ef8fb2b15b6dd7218eff5f844_r.jpg"
).convert("RGB")

# resize
max_side = 1024
w, h = img.size
scale = min(max_side / w, max_side / h, 1.0)
img = img.resize((int(w * scale), int(h * scale)))

# 重要一步:PIL → numpy (防止CPU超过内存)
img_np = np.array(img)

output = pipeline.predict(img_np)

for res in output:
    res.print()
    res.save_to_json(save_path="output")
    res.save_to_markdown(save_path="output")

输出目录示例(Windows)

复制代码
(paddle_py10) C:\workspace\output> dir
1768203146_1313.md
1768203146_1313_res.json

输出目录示例(Linux)

复制代码
(paddle_py10) user@machine:/home/user/workspace/output$ tree
├── 1768203146_1313.md
└── 1768203146_1313_res.json

0 directories, 4 files

安装GPU请参考PaddleOCR官方文档

转PDF和word请参考相关文章参考:

相关推荐
青 春 记 忆5 小时前
零基础入门Python11|Git实战:为任务管理器建立版本历史
开发语言·git·vscode·python·python3.11
Python私教6 小时前
多个项目怎么安全合并?先适配,再切换
后端·python·架构
动力 continue6 小时前
Linux 基础篇 · 压缩打包与用户管理
linux·服务器·基础命令linux
NJCloud7 小时前
Ansible(三)——Zabbix 监控系统部署与敏感信息加密
linux·运维·chrome·信息可视化·ansible·zabbix
ltl8 小时前
Cgroups v2:为什么内存限制设了,宿主机数据库还是被 OOM
linux
北斗落凡尘8 小时前
LangGraph 入门实战(12)--使用MCP
后端·python·langchain
NJCloud8 小时前
TiDB 集群部署与 MySQL 兼容性适配实战
linux·运维·数据库·mysql·tidb
2401_868534788 小时前
UNIX常用命令英文全称与中文解释整理
linux·运维
jdksjw8 小时前
同步与异步、阻塞与非阻塞、多线程、协程超详细讲解(Python并发编程从入门到精通)
开发语言·python
Mike_Zhang9 小时前
使用python统计FreeSWITCH呼叫并发
python·freeswitch