PaddleOCR 3.5 发布:Web 端直用、文档一键转 Markdown,生态交互新体验

PaddleOCR 3.5 正式发布,带来以下核心升级:

  1. 发布浏览器端 PaddleOCR.js,开发者可以用更轻量的方式在前端应用中直接调用 OCR 能力。
  2. 支持将 PaddleOCR-VL 文档解析内容转为 Word,以及将 Word、Excel、PPT 等类型的办公文档转为 Markdown。
  3. 融入 Hugging Face 开发生态,通过统一推理引擎配置方式,支持基于 Transformers 完成 OCR 系列模型推理。

一、发布 PaddleOCR.js

在 Agent 时代,越来越多的智能体需要直接感知和理解用户界面上的信息------而这些信息,往往就存在于浏览器里。​让数据不离开浏览器就能完成识别​,不仅是对隐私的保护,更是降低系统复杂度、实现真正轻量化部署的关键一步。

PaddleOCR.js 正是为此而生。从能力上看,它已经不仅仅是"能识别",而是在浏览器侧提供了一套更完整的使用体验:基于 ONNX Runtime Web 搭建,同时支持 WebGPUWasm 两种加速后端;提供 ​Worker 模式​,推理过程在后台线程运行,不阻塞主线程、不影响页面交互;并已适配 Chrome、Safari 等主流浏览器。

无论是验证码识别、在线票据处理,还是构建更强调交互体验的前端 AI 工具,开发者都可以用更轻量的方式,将 PaddleOCR 无缝接入现有 Web 场景。

复制代码
 
 
  
  
   import { PaddleOCR } from "@paddleocr/paddleocr-js";
  
  

  
  

   
  
  

  
  

   const ocr = await PaddleOCR.create({
  
  

  
  

     lang: "ch",
  
  

  
  

     ocrVersion: "PP-OCRv5",
  
  

  
  

     worker: true,
  
  

  
  

     ortOptions: {
  
  

  
  

       backend: "auto"
  
  

  
  

     }
  
  

  
  

   });
  
  

  
  

   
  
  

  
  

   const [result] = await ocr.predict(fileOrBlob);
  
  

  
  

   console.log(result.items);
  
  
 
 

同时,从调用风格上看,PaddleOCR.js 与 PaddleOCR Python 接口也保持了较高的一致性。Python 侧通过 PaddleOCR(...) 初始化并调用 predict,浏览器侧则通过 PaddleOCR.create({...}) 初始化后同样调用 predict 得到推理结果列表。这让已有 PaddleOCR Python 库用户迁移到 Web 端时几乎不需要重新理解一套完全不同的接口设计:

python 复制代码
 
  
  
   
   from paddleocr import PaddleOCR
  
   

  
   

   
  
   

  
   

   ocr = PaddleOCR(
  
   

  
   

       lang="ch",
  
   

  
   

       ocr_version="PP-OCRv5"
  
   

  
   

   )
  
   

  
   

   result = ocr.predict("general_ocr_002.png")
  
   
 
  
复制代码
 
 
  
  
   import { PaddleOCR } from "@paddleocr/paddleocr-js";
  
  

  
  

   
  
  

  
  

   // 支持 Python 风格的 snake_case 参数
  
  

  
  

   const ocr = await PaddleOCR.create({
  
  

  
  

     lang: "ch",
  
  

  
  

     ocr_version: "PP-OCRv5"
  
  

  
  

   });
  
  

  
  

   // 也支持 JavaScript 风格的 camelCase 参数
  
  

  
  

   // const ocr = await PaddleOCR.create({
  
  

  
  

   //   lang: "ch",
  
  

  
  

   //   ocrVersion: "PP-OCRv5"
  
  

  
  

   // });
  
  

  
  

   const [result] = await ocr.predict(fileOrBlob);
  
  
 
 

另外,PaddleOCR.js 还提供了结果可视化能力,能够把检测框、识别文字等结果以与 PaddleOCR Python 库相同的风格渲染出来。

复制代码
 
 
  
  
   import { OcrVisualizer } from "@paddleocr/paddleocr-js/viz";
  
  

  
  

   
  
  

  
  

   const viz = new OcrVisualizer({
  
  

  
  

     font: { family: "Noto Sans SC", source: "/fonts/NotoSansSC-Regular.ttf" }
  
  

  
  

   });
  
  

  
  

   const blob = await viz.toBlob(imageBitmap, result);
  
  
 
 

PaddleOCR 仓库中提供了一个简单的 Demo 应用,用于快速体验 PaddleOCR.js 的效果:

开发者可以在 Demo 应用中先跑通体验,再逐步集成到自己的 Web 应用中。

二、支持多格式文档解析

大模型时代,数据的价值被重新审视。海量知识沉淀在 Word、Excel、PPT、PDF 等各类文档中,而大模型真正能消化的,是结构清晰的文本。​打通文档与大模型之间的通路​,成为这个时代最迫切的需求之一。

为此,PaddleOCR 3.5 在文档格式的输入与输出两端同时发力:

  • 输出侧 :支持将 PaddleOCR-VL 系列模型、PP-StructureV3 的预测结果直接导出为 Word 格式,让识别结果开箱即用、便于人工流转;
  • 输入侧 :支持将 Word、Excel、PPT 等主流办公文档转换为 Markdown 格式,结构清晰,易于后续的 LLM 接入与智能体调用。

以 PaddleOCR-VL 为例,将预测结果导出为 Word 文档只需几行代码:

python 复制代码
 
  
  
   
   from paddleocr import PaddleOCRVL
  
   

  
   

   
  
   

  
   

   pipeline = PaddleOCRVL()
  
   

  
   

   output = pipeline.predict("./paddleocr_vl_demo.png")
  
   

  
   

   pages_res = []
  
   

  
   

   for res in output:
  
   

  
   

       res.save_to_word(save_path="output") ## 保存当前图像的Word格式的结果
  
   

  
   

       pages_res.append(res)
  
   

  
   

       
  
   

  
   

   output = pipeline.restructure_pages(pages_res)
  
   

  
   

   for res in output:
  
   

  
   

       res.save_to_word(save_path="output") ## 将合并后的多页结果保存为Word格式
  
   
 
  

对于办公文档转 Markdown 功能,只需一行命令即可高效完成:

python 复制代码
 
  
  
   
   # 转换 Word 文档,输出到文件
  
   

  
   

   paddleocr doc2md -i report.docx -o output.md
  
   

  
   

   
  
   

  
   

   # 转换 Excel 表格,输出到文件
  
   

  
   

   paddleocr doc2md -i data.xlsx -o output.md
  
   

  
   

   
  
   

  
   

   # 转换 PowerPoint 演示文稿,输出到文件
  
   

  
   

   paddleocr doc2md -i slides.pptx -o output.md
  
   
 
  

三、全面适配 Transformers 推理后端

PaddleOCR 3.5 将 Transformers 正式纳入统一推理引擎体系,支持通过统一的配置方式,让开发者可以用同一套接口切换不同底层后端。对需要融入 Hugging Face AI 开发生态的用户来说,这意味着在熟悉的 Transformers 环境中,也能更顺畅地接入 OCR 与文档解析能力,减少跨生态集成成本,并让原本分散的部署选择变得更加统一、清晰。

从使用门槛上看,这次适配也尽量保持了简单直接。开发者只需在环境中安装 5.4.0 或更高版本的 transformers 以及 3.5.0 版本的 paddleocr,即可通过统一接口完成调用。以文本检测模型为例:

python 复制代码
 
  
  
   
   from paddleocr import TextDetection
  
   

  
   

   
  
   

  
   

   model = TextDetection(
  
   

  
   

       model_name="PP-OCRv5_server_det",
  
   

  
   

       engine="transformers",
  
   

  
   

   )
  
   

  
   

   result = model.predict("general_ocr_001.png")
  
   
 
  

其中,engine 可以是 paddle_staticpaddle_dynamictransformers,分别对应飞桨静态图(Paddle Inference)、飞桨动态图和 Transformers 后端。

Transformers 提供高效简洁的单模型的加载、配置与推理能力,而 PaddleOCR 在模块封装与多模型编排能力有长期积累的优势。在底层,我们保留了面向单模型的灵活接入方式;在更高一层,PaddleOCR 仍然能够把检测、方向分类、识别等能力按业务需要串联组合起来,让开发者既能享受 Transformers 生态的便利,也能继续使用 PaddleOCR 已经成熟的产线化能力,实现更强的组合效果。例如,同样可以通过 engine 参数将 OCR pipeline 直接切换到对应后端:

复制代码
 
 
  
  
   paddleocr ocr -i xxx.png \
  
  

  
  

       --use_doc_orientation_classify False \
  
  

  
  

       --use_doc_unwarping False \
  
  

  
  

       --use_textline_orientation False \
  
  

  
  

       --save_path ./output \
  
  

  
  

       --engine transformers
  
  
 
 

执行结果与使用飞桨静态图完全对齐:

此外,PaddleOCR 3.5 还支持通过 engine_config 参数配置推理后端的初始化参数,进而实现更细粒度的设备选择、精度控制与推理行为调优,让统一接口之上也保留了足够的灵活性与可定制空间。

结语

从文档图像到结构化数据,PaddleOCR 始终致力于降低 AI 应用开发的数据门槛。PaddleOCR 3.5 版本的升级,不仅让 OCR 能力更广泛地融入 Hugging Face 生态与浏览器端,更将文档解析链路延伸至多格式办公文档的一键转换。这一切努力,归根结底是为了把"将文档图像转换为 JSON、Markdown 等 AI 友好数据"这件事做到极致,让 PaddleOCR 真正成为每一位 AI 开发者手边的"开局神器"------数据一键整理、适度清洗、格式就绪,让您的 AI 应用从第一步就走在高效的路上。

我们诚邀广大开发者、研究者及行业伙伴亲身体验这一全新版本,也期待大家持续给予宝贵的反馈与建议。每一条意见,都是我们前行的动力。让我们携手共建更开放、更强大的 OCR 生态,共同推动 OCR 技术走向更广阔的未来。

​开源地址:​ https://github.com/PaddlePaddle/PaddleOCR

相关推荐
HackTwoHub11 小时前
AI提示词注入绕过工具:一键绕过Codex/Claude安全限制,CTF夺旗与渗透测试必备神器
网络·人工智能·安全·web安全·系统安全·网络攻击模型·安全架构
诺未科技_NovaTech11 小时前
Microsoft 365 E7 ,“AI+安全+身份”三位一体,打造 AI 时代的一站式操作系统
人工智能·安全·microsoft
小白学大数据11 小时前
均线选股策略研究:基于 Python 数据分析实现
人工智能·python·数据分析
三无推导11 小时前
OpenHuman 开源项目详解:个人 AI 助手架构与核心技术拆解
人工智能·性能优化·架构·开源·ai助手
薛定猫AI12 小时前
【深度解析】Hermes Agent 与 Hermes Desktop:长期记忆、技能沉淀与多端网关的开源 AI Agent 实战
人工智能·开源
xwz小王子12 小时前
给机器人装上脊髓反射:AT-VLA 如何把触觉塞进 VLA,并把闭环响应压到 40 毫秒
人工智能·机器人
通信小呆呆12 小时前
注意力机制用于信号同步:从匹配滤波到可学习对齐
人工智能·学习·机器学习·信息与通信
掌动智能12 小时前
传统数据工厂之死:RunnerAgent如何开启AI驱动的“数据生产”新纪元
人工智能·测试工具·自动化
shchojj12 小时前
Generative AI applications -- Reading
人工智能
青山科技分享12 小时前
iPaaS推荐:五大集成平台推荐指南
大数据·人工智能·ipaas推荐