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

相关推荐
Yuanxl9032 小时前
论文精读-“A deep-learning-based approach for fast and robust steel”
人工智能·深度学习
沫儿笙2 小时前
KUKA库卡焊接机器人薄板焊接节气装置
人工智能·机器人
程序员cxuan2 小时前
马斯克把 Cursor 给收了
人工智能·后端·程序员
hanniuniu132 小时前
从Token吞吐到多租户隔离:F5 AI安全解决方案加速智能体AI工作流落地
人工智能·安全
ZYH101402 小时前
OpenClaw 多 Agent 与飞书机器人(AI团队)
人工智能·机器人·飞书·ai团队·小龙虾养殖·openclaw团队·openclaw接入飞书
serve the people2 小时前
XGBoost、LSTM、Transformer 在时序异常检测中的原理与选型
人工智能·lstm·transformer
深小乐2 小时前
ChatGPT Image2,作图太太太太太强了!
人工智能
江湖有缘2 小时前
基于华为openEuler部署开源ERP系统odoo
开源
Apple_羊先森2 小时前
# MOSS-TTS-Nano 教程 02:CLI 与 Web Demo 实战
前端·人工智能