【原创实践】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请参考相关文章参考:

相关推荐
小皮蛋儿子1 分钟前
mac 微信双开
linux·服务器·apache
minji...1 分钟前
Linux 网络基础之网络IP层(十一)私有IP地址和公网IP地址,运营商和全球网络,理解公网
linux·服务器·网络·nat·内网·公网·运营商
Rabbit_QL2 分钟前
【find的用法】macOS/Linux 下高效查找文件
linux·macos
2401_868534784 分钟前
论快速应用开发方法及应用
大数据·python
郝学胜-神的一滴6 分钟前
系统设计 012:从用户系统出发,吃透缓存、数据库与高并发设计
java·数据库·python·缓存·php·软件构建
逆境不可逃7 分钟前
Hello-Agents 第二部分-第九章总结:上下文工程
linux·运维·服务器
叶之香8 分钟前
一次 Kingston U 盘重定向中获取 Device Descriptor 超时问题排查
c++·windows·visual studio
spencer_tseng10 分钟前
HeapOOM && jvisualvm.exe
java·linux·jvisualvm.exe
人工智能导论实践课11 分钟前
奥比中光深度相机astra pro的初步ros包开发
人工智能·python
小此方13 分钟前
Re:Linux系统篇(十九)进程篇·四:内核托底与生死交错 ,深度硬核剖析“僵尸”与“孤儿”进程
linux·运维·驱动开发