自用超半年的免费 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

前端框架选型指南:React、Vue还是Angular?别再踩坑了!

前端框架选型指南:React、Vue还是Angular?别再踩坑了!

前端框架选型指南:React、Vue还是Angular?别再踩坑了! * 前端框架选型指南:React、Vue还是Angular?别再踩坑了! * 新手村:这三个货到底啥来头? * 核心机制:那些面试必问的八股文,到底是啥意思? * React:虚拟DOM和Diff算法,真的快吗? * Vue:响应式系统,到底怎么"响应"的? * Angular:依赖注入和RxJS,企业级标配 * 那些让人头秃的坑,我都替你踩过了 * React的坑:生态太散,选择困难症晚期 * Vue的坑:2升3的痛,谁升谁知道 * Angular的坑:重,是真的重 * 实战场景:到底该选哪个? * 场景1:创业公司MVP,三周上线 * 场景2:中大型C端应用,长期维护 * 场景3:金融/企业级后台,强类型控团队 * 性能优化:

EpicDesigner低代码设计器完全配置指南

EpicDesigner低代码设计器完全配置指南 【免费下载链接】epic-designer 项目地址: https://gitcode.com/gh_mirrors/ep/epic-designer 你是否曾经为重复编写表单页面而感到厌倦?EpicDesigner正是为解决这一痛点而生的可视化低代码设计工具。作为基于Vue3开发的多UI组件库兼容设计器,它能够通过拖拽方式快速生成页面配置,显著提升开发效率。 为什么选择EpicDesigner 在当今快速迭代的开发环境中,EpicDesigner提供了三个核心价值:首先,它支持Element Plus、Ant Design Vue和Naive UI三套主流UI组件库,让团队可以根据现有技术栈灵活选择;其次,通过JSON配置生成页面的方式,实现了配置的可视化管理和版本控制;最后,强大的扩展机制允许开发者根据业务需求自定义组件和功能。 环境准备与基础配置 系统要求检查 开始之前,请确保你的开发环境满足以下要求: * Node.js版本14.x或更高 * 包管理器(npm、yarn或pnpm) * 现代浏览器支持(

基于动态三维环境下的Q-Learning算法无人机自主避障路径规划研究(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭:行百里者,半于九十。 📋📋📋本文内容如下:🎁🎁🎁  ⛳️赠与读者 👨‍💻做科研,涉及到一个深在的思想系统,需要科研者逻辑缜密,踏实认真,但是不能只是努力,很多时候借力比努力更重要,然后还要有仰望星空的创新点和启发点。建议读者按目录次序逐一浏览,免得骤然跌入幽暗的迷宫找不到来时的路,它不足为你揭示全部问题的答案,但若能解答你胸中升起的一朵朵疑云,也未尝不会酿成晚霞斑斓的别一番景致,万一它给你带来了一场精神世界的苦雨,那就借机洗刷一下原来存放在那儿的“躺平”上的尘埃吧。      或许,雨过云收,神驰的天地更清朗.......🔎🔎🔎 💥第一部分——内容介绍 基于 Q-learning 的三维无人机动态避障导航方法研究 摘要 针对低空复杂三维环境下无人机自主飞行的安全与路径优化问题,本文提出一种基于 Q-learning 强化学习的无人机导航与避障方法。该方法在离散化

FPGA自学笔记--VIVADO RAM IP核控制和使用

FPGA自学笔记--VIVADO RAM IP核控制和使用

本文主要学习在VIVADO软件中如何生成所需要的RAM IP核,以及相关的配置定义,并搭建tb对生成的IP读写控制时序进行仿真和测试。 一、sram ip生成与配置 1.1 ram ip创建方法 1. 新建工程:打开 Vivado,创建一个新的工程项目。 2. 打开 IP Catalog:在 Vivado 主界面中,单击 IP Catalog。 3. 搜索 RAM:在右侧窗口的 Search 框中输入 ram,会出现相关 IP 条目。 4. RAM IP 类型:在 Memories & Storage Elements 分类下,可以看到两种主要的 RAM 创建入口: * Distributed