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

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);
from paddleocr import PaddleOCRocr = 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);
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);

from paddleocr import PaddleOCRVLpipeline = 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格式
向左滑动查看导出后的word文件
# 转换 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
向左滑动查看导出后的Markdown文件
向左滑动查看导出后的Markdown文件

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

从使用门槛上看,这次适配也尽量保持了简单直接。开发者只需在环境中安装5.4.0或更高版本的transformers以及3.5.0版本的paddleocr,即可通过统一接口完成调用。以文本检测模型为例:
from paddleocr import TextDetectionmodel = TextDetection(model_name="PP-OCRv5_server_det",engine="transformers",)result = model.predict("general_ocr_001.png")
其中,engine可以是paddle_static、paddle_dynamic或transformers,分别对应飞桨静态图(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
执行结果与使用飞桨静态图完全对齐:

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











