自用超半年的免费 OCR 工具分享:告别付费,本地搭建更安心

自用超半年的免费 OCR 工具分享:告别付费,本地搭建更安心

前言

作为一个经常需要提取图片文字的打工人,以前总被各种 OCR 工具折腾得够呛 —— 在线工具要么限次数,要么识别慢,传隐私图片还总担心泄露;付费的 OCR 软件一年下来也是笔不小的开销,性价比实在不高。直到偶然用上了 PaddleOCR-VL,才算彻底解决了这些烦恼。

用下来最大的感受就是 “省心又靠谱”:不用再频繁切换各种在线平台,本地部署后随时能用,识别印刷体、手写体甚至复杂的数学公式都又快又准,完全不输付费工具;而且所有识别过程都在自己电脑上完成,隐私性拉满,再也不用顾虑图片上传的问题。

好东西当然要和大家分享,下面就把这套 “私人 OCR 平台” 的搭建和使用方法完整整理出来,跟着做,你也能告别付费 OCR,拥有专属的高效文字识别工具。

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 

出现如上页面,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 的基础认知入手,一步步教大家用整合包快速启动工具,演示了印刷体、手写体、数学公式等核心识别场景,还通过 cpolar 内网穿透实现了公网访问,甚至补充了访问授权验证的安全设置,全程操作简单,新手也能轻松上手。

希望这篇分享能帮到和我一样有 OCR 需求的朋友,不用再为文字识别花钱、操心,用最简单的方式搭建起自己的专属工具。如果操作过程中有任何问题,欢迎留言交流,祝大家都能把这个实用工具用起来,提升日常工作和学习的效率~

Read more

企业微信群机器人Webhook配置全攻略:从创建到发送消息的完整流程

企业微信群机器人Webhook配置全攻略:从创建到发送消息的完整流程 在数字化办公日益普及的今天,企业微信作为国内领先的企业级通讯工具,其群机器人功能为团队协作带来了极大的便利。本文将手把手教你如何从零开始配置企业微信群机器人Webhook,实现自动化消息推送,提升团队沟通效率。 1. 准备工作与环境配置 在开始创建机器人之前,需要确保满足以下基本条件: * 企业微信账号:拥有有效的企业微信管理员或成员账号 * 群聊条件:至少包含3名成员的群聊(这是创建机器人的最低人数要求) * 网络环境:能够正常访问企业微信服务器 提示:如果是企业管理员,建议先在"企业微信管理后台"确认机器人功能是否已对企业开放。某些企业可能出于安全考虑会限制此功能。 2. 创建群机器人 2.1 添加机器人到群聊 1. 打开企业微信客户端,进入目标群聊 2. 点击右上角的群菜单按钮(通常显示为"..."或"⋮") 3. 选择"添加群机器人"选项 4.

深入解析OpenClaw Skills:从原理到实战,打造专属机器人技能

深入解析OpenClaw Skills:从原理到实战,打造专属机器人技能

一、OpenClaw Skills:机器人行为的“最小执行单元” 1.1 什么是OpenClaw Skills? OpenClaw是面向开源机械爪/小型机器人的控制框架(核心仓库:openclaw/openclaw),旨在降低机器人行为开发的门槛。而Skills(技能) 是OpenClaw框架中对机器人“单一可执行行为”的封装模块——它将机器人完成某一特定动作的逻辑(如“夹取物体”“释放物体”“移动到指定坐标”)抽象为独立、可复用、可组合的代码单元。 简单来说: * 粒度:一个Skill对应一个“原子行为”(如“单指闭合”)或“组合行为”(如“夹取→移动→释放”); * 特性:跨硬件兼容(适配不同型号机械爪)、可插拔(直接集成到OpenClaw主框架)、可扩展(支持自定义参数); * 核心价值:避免重复开发,让开发者聚焦“

写给前端的股票行情 SDK: stock-sdk,终于不用再求后端帮忙了

起因 说实话,这个项目的诞生完全是被逼出来的。 去年我想做一个股票行情看板,就是那种简单的页面,能实时显示几只自选股的涨跌。听起来很简单对吧?但当我真正开始动手的时候,才发现事情没那么简单。 网上搜一圈,股票数据接口相关的工具几乎全是 Python 的。AkShare、Tushare、掘金量化……确实牛,功能也确实全,但问题是——我是个前端啊。 为了一个小看板,难道要我专门搭一个 Python 后端?再写个接口转发给前端?这也太折腾了。 于是我开始找有没有 JavaScript 能用的方案。结果你猜怎么着?翻遍了 npm,几乎找不到一个好用的。有的年久失修,有的只支持 Node.js 不支持浏览器,有的类型支持一塌糊涂,还有的接口莫名其妙就挂了。 摸索了一圈之后,我决定:算了,自己写一个得了。 stock-sdk 是什么? 简单说,stock-sdk 就是一个专门给前端和 Node.