前言

临时要提取截图里的文字这件事,在线 OCR 平台用过的都知道:要不然限次数,要不然识别慢,要不然就是把图片上传到别人服务器里心里不踏实。付费吧又觉得不值,毕竟不是天天用。

PaddleOCR-VL 是 PaddleOCR 3.x 系列里的多模态文档解析模型,参数规模不到一亿,兼顾精度和资源消耗。它和传统 OCR 的区别在于不只是识别文字,还能理解文档结构——表格、公式、图表、多栏排版这些都能处理。多语言支持超过 100 种,部署在本地跑的话隐私也有保障。

这篇文章用整合包简化了部署流程,下载解压跑脚本就行,不需要自己配环境。实际测了印刷体、手写体和数学公式三种场景,识别准确率在可接受范围内。对于需要偶尔提取图片文字、又不想把图片交给第三方平台的人来说,自建这套服务的实用价值比付费订阅高。

1 什么是PaddleOCR-VL?

Banner

PaddleOCR‑VL 是 PaddleOCR 3.x 系列中的一款 视觉‑语言多模态文档解析模型,专门面向复杂文档场景设计。相比传统 OCR 仅能识别文字,PaddleOCR‑VL 通过融合视觉编码器与语言模型,实现了从“文字识别”到“图文理解”的跨模态能力。它不仅可以精准识别文字,还能理解文字在文档中的结构和语义,例如表格、公式、图表以及多栏排版内容。

该模型参数规模适中(约 0.9 亿),兼顾高精度和资源效率,因此既适合本地部署,也可在私有云或远程环境中使用。更重要的是,PaddleOCR‑VL 支持多语言文本识别(超过 100 种语言),在处理多语种混排文档时表现出色。凭借其跨模态能力,它不仅可以完成大批量文档解析,还能为知识抽取、智能问答等后续任务提供结构化输入,成为现代智能文档处理系统的核心技术。

简而言之,PaddleOCR‑VL 是一款专业的多模态文档理解模型,突破了传统 OCR 的局限,实现了文字识别、版式理解与语义分析的有机结合。

2 PaddleOCR‑VL下载及启动

由于官方的开源代码方式部署环境较为复杂不适宜新手小白入门上手,所以本教程演示的将使用**@十字鱼**提供的整合包,让新手小白入门上手变得更加简单!

整合包下载链接可访问cpolar官网同名文章。

image-20251109191414427

整合包下载下来后,进行解压,解压后,进入解压后的目录内,双击执行01运行程序.bat脚本:
image-20251109192135370

执行脚本后,会打开cmd窗口,检测你的电脑配置情况,以及下载模型:
image-20251109192253185

启动完成后,会出现URL地址:

image-20251109192429459

且会自动在浏览器中打开,如果没有打开,手动访问如下地址即可:

http://127.0.0.1:7891

image-20251109192445641

出现如上页面,PaddleOCR‑VL整合包就启动完成啦!

3 简单使用PaddleOCR‑VL

PaddleOCR‑VL 可以用来识别各种类型的文字,本部分将演示 印刷体、手写体和数学公式,其他类型就不一一全部演示了,通过这几个示例让你快速了解模型的核心功能和基本使用方法。

3.1 印刷体OCR识别

首先,准备一张要识别的图片,这里使用的如下图片:
印刷体

在页面上点击上传区域,或者直接把图片拖入上传区域种进行上传:
image-20251109194120889

文件上传后,点击下方的开始生成按钮:
image-20251109194152973

点击开始后,可以按快捷键Ctrl + shift +esc键打开任务管理器,然后查看GPU的负载:
image-20251109194403751

可以看到,当前用的RTX2080ti显卡占用达到了83%,如果占用降下去了,说明OCR已经识别完成了,可以回到页面查看:

image-20251109194732223

页面提示完整下载请去outputs文件夹,下载md文件和对应的imgs文件夹,我们可以打开项目目录,进入outputs目录下:
image-20251109194828824

进入后可以看到一个文件夹,里面的子目录可以看到生成的文件和图片,参考如下图:
image-20251109195114341

可以通过原图和OCR识别后的图片进行对比查看:
image-20251109195311608

基本上没有发现什么识别错误,完美的识别出了印刷体图片上的英文内容!

3.2 手写体OCR识别

前面演示了印刷体识别,可能有的小伙伴会说,这个太正常了。那我们接下来识别一下手写体的图片,这里准备了如下一张图片:

手写体

让我们看看PaddleOCR‑VL是否能够识别出来吧!由于上传和生成步骤一直,这里就不做逐步演示了,直接展示结果吧:
image-20251109200025477

可以看到,完美的把内容识别出来了,而且竟然没有任何错误!

3.3 数学公式OCR识别

前面演示了印刷体手写体识别,可以看到,效果非常好,接下来我们来试试数学公式,看看能否识别出来,这里准备的图片如下:

数学公式

直接来看看效果对比一下吧:

image-20251109200908478

可以发现,除了原图种的回车符号,显示成了句号以外,以及开口方向的表格列和原图不符合,其他的文字以及数学公式完成正确!准确率极高!

4 下载cpolar内网穿透

在前面,我们已经成功启动了 PaddleOCR-VL 项目,也可以正常通过 http://127.0.0.1:7891/ 这样的地址进行访问,并实现图片识别功能。
但是细心的你可能已经发现了——这个地址只能在本地设备访问,一旦换到其他电脑、手机,或者想让朋友远程体验时,就完全打不开了。
这其实是因为本地服务默认只在你的计算机内部运行,没有对外网络入口。

接下来,我们就来解决这个问题:通过 cpolar 内网穿透,让 PaddleOCR-VL 也能像在线网站一样被外部访问。

4.1 什么是cpolar?

image-20250910114418412

  • cpolar 是一款内网穿透工具,可以将你在局域网内运行的服务(如本地 Web 服务器、SSH、远程桌面等)通过一条安全加密的中间隧道映射至公网,让外部设备无需配置路由器即可访问。
  • 广泛支持 Windows、macOS、Linux、树莓派、群晖 NAS 等平台,并提供一键安装脚本方便部署。

4.2 下载cpolar

打开cpolar官网的下载页面:
点击立即下载 64-bit按钮,下载cpoalr的安装包:

image-20250815171202537

下来下来是一个压缩包,解压后执行目录种的应用程序,一路默认安装即可,安装完成后,打开cmd窗口输入如下命令确认安装:

cpolar version

image-20250815171446129

出现如上版本即代表安装成功!

4.3 注册及登录cpolar web ui管理界面

4.3.1 注册cpolar

访问cpolar官网,点击免费注册按钮,进行账号注册

image-20250804085039567

进入到如下的注册页面进行账号注册:
image-20250804085208319

4.3.2 访问web ui管理界面

注册完成后,在浏览器中输入如下地址访问 web ui管理界面:

http://127.0.0.1:9200

image-20250815171734046

输入刚才注册好的cpolar账号登录即可进入后台页面:

image-20250815171846757

5 穿透PaddleOCR-VL项目以支持公网访问

5.1 随机域名方式(免费方案)

随机域名方式适合预算有限的用户。使用此方式时,系统会每隔 24 小时 左右自动更换一次域名地址。对于长期访问的不太友好,但是该方案是免费的,如果您有一定的预算,可以查看大纲5.2固定域名方式,且访问更稳定

点击左侧菜单栏的隧道管理,展开进入隧道列表页面,页面下默认会有 2 个隧道:

  • remoteDesktop隧道,指向3389端口,tcp协议
  • website隧道,指向8080端口,http协议(http协议默认会生成2个公网地址,一个是http,另一个https,免去配置ssl证书的繁琐步骤)

image-20250914174356363

点击编辑website的隧道,修改成我们PaddleOCR-VL需要的信息:

image-20251109205417683

注意:每个用户创建的隧道显示的公网地址都不一样!

接着,点击左侧菜单的状态菜单,接着点击在线隧道列表菜单按钮,可以看到有2个PaddleOCR-VL-7891的隧道,一个为http协议,另一个为https协议:

image-20251109205607149

接下来在浏览器中访问PaddleOCR-VL-7891隧道生成的公网地址(http和https皆可),这里以https为例:

image-20251109205911408

可以看到成功访问啦!

5.2 固定域名方式(升级任意套餐皆可)

通过前面的配置,我们已经成功实现了PaddleOCR-VL的远程访问,但免费随机域名方案的局限性也逐渐显现:每24小时左右自动更换域名地址,意味着你需要频繁更新书签、重新分享链接,甚至可能因为忘记更新而无法访问。固定域名方案正是为了解决这些痛点而生,让你拥有一个永久不变的专属地址,真正实现稳定可靠的OCR在线工作台。

好啦,接下来开始固定保留二级子域名教程!

首先,进入官网的预留页面:

https://dashboard.cpolar.com/reserved

选择预留菜单,即可看到保留二级子域名项,填写其中的地区名称描述(可不填)项,然后点击保留按钮,操作步骤图如下:

image-20251109214101624

列表中显示了一条已保留的二级子域名记录:

  • 地区:显示为China Top
  • 二级域名:显示为pdocr

注:二级域名是唯一的,每个账号都不相同,请以自己设置的二级域名保留的为主

接着,进入侧边菜单栏的隧道管理下的隧道列表,可以看到名为PaddleOCR-VL-7891的隧道,点击编辑按钮进入编辑页面:

image-20251109214208437

修改域名类型为二级子域名,然后填写前面配置好的子域名,点击更新按钮:

image-20251109214449809

来到状态菜单下的在线隧道列表可以看到隧道名称为PaddleOCR-VL-7891的公网地址已经变更为二级子域名+固定域名主体及后缀的形式了:

image-20251109214525230

这里以https协议做访问测试(加载稍慢,需耐心等待一下):

image-20251109214624151

访问成功!这样一来,你就拥有了一个永久不变的专属域名,再也不用担心24小时域名更换的问题。

6 为 PaddleOCR-VL 添加访问授权验证

在完成公网部署后,你会发现 PaddleOCR-VL 默认是无需登录即可访问的。虽然这便于快速使用,但在家庭共享网络或团队协作场景下,可能会带来安全隐患。 例如:他人可通过公网地址随意提交图片识别任务,甚至查看配置信息,存在滥用资源的风险。 为了保障系统安全,我们可以借助 cpolar 内置的访问授权验证功能,为公网隧道添加密码保护,确保只有知道凭证的用户才能访问你的 PaddleOCR-VL 实例。

6.1 配置访问授权验证

首先,打开cpolar管理界面,进入隧道管理隧道列表,找到PaddleOCR-VL-7891隧道,点击编辑按钮:

image-20251109215021609

在编辑页面中,点击高级按钮展开高级配置选项,按照下图进行设置:

在HttpAuth这一栏,输入admin:123456 其中【admin】为你想要设置的账号,中间的冒号是英文的(不是中文),【123456】为想要给admin用户设置的密码

image-20251109215231674

6.2 验证授权效果

重新访问你的公网地址,会发现浏览器弹出登录验证框:

image-20251109215307265

输入刚才设置的用户名和密码,即可正常访问PaddleOCR-VL 的 Web 界面。通过这一道简单的访问验证,你的视频生成平台就具备了基础的安全防护,在享受远程访问便利的同时,有效保障了本地内容、AI 配置与 API 资源的安全。

总结

客观说,PaddleOCR-VL 这套方案在"自己搭 OCR 服务"这件事上完成度比较高。整合包降低了部署门槛,印刷体和手写体的识别效果实测可用,数学公式因为结构复杂偶有误差但整体可接受。

需要注意的是,它对 GPU 有一定要求——文章演示用的是 RTX 2080 Ti,没有独显的机器跑起来会比较吃力。另外 cpolar 在这里解决的还是远程访问通道的问题,配好之后外面能访问到,但核心能力是 PaddleOCR-VL 本身。

整体来说,这套组合适合对图片文字提取有持续需求、且对隐私有要求的人。偶尔用一次的话付费平台更省事;如果使用频率高,自建这套服务长期来看成本更低,也不用担心图片数据留到第三方。

Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐