PaddleOCR 实战:把 PDF 和图片变成 LLM 能直接读的 Markdown PaddleOCR 实战把 PDF 和图片变成 LLM 能直接读的 Markdown【免费下载链接】PaddleOCRTurn any PDF or image document into structured data for your AI. A powerful, lightweight OCR toolkit that bridges the gap between images/PDFs and LLMs. Supports 100 languages.项目地址: https://gitcode.com/GitHub_Trending/pa/PaddleOCR把扫描件合同直接塞进 LLM拿回来的往往是一段乱序文本表格列对不齐、公式变成乱码、页眉跑到正文中间。根子在于普通 OCR 吐出的只是一堆带坐标的文字行不是文档结构。PaddleOCR 的文档解析能力正是补这一环它把 PDF 和图片转成带层级、带表格的 Markdown 或 JSON让 RAG 和 Agent 应用少写一堆脏活。对开发者来说PaddleOCR 现在的定位很清晰本地一条命令跑通 OCRPP-StructureV3流水线做结构化解析PP-OCRv6系列模型负责场景文字识别支持 100 语言核心依赖装完即可用。30 秒跑通第一张图环境只需要 Python 3.8–3.12 和 pip不用 clone 仓库python -m pip install paddleocr[all] paddleocr ocr -i ./general_ocr_002.png \ --use_doc_orientation_classify False \ --use_doc_unwarping False \ --use_textline_orientation False三个False是关掉文档方向矫正和曲面拉直等预处理对摆正拍平的图能省掉一半耗时。跑完你该看到终端逐行打印识别文本和置信度同时生成带检测框的可视化和 JSON 结果。要写进自己代码里Python 侧同样三步from paddleocr import PaddleOCR ocr PaddleOCR() # 不指定模型时默认 PP-OCRv6 medium 档 for res in ocr.predict(./invoice.png): res.save_to_json(output) # 文本、置信度、坐标一次性落盘两个能力点值得单独看PP-OCRv6 为什么不用切语言模型了老版本做多语言 OCR 的麻烦在于每种文字体系要换模型中文一个、拉丁语系一个、西里尔文又一个。PaddleOCR(langfr)这类参数本质是背后换了一套 rec 模型。PP-OCRv6 把这件事做掉了单个识别模型覆盖中文、英文、日文和 46 种拉丁文字语言不再需要维护语言到模型的映射。模型分 tiny1.5M 参数、small、medium34.5M三档按设备选型# 端侧/嵌入式场景换小模型其余用法完全不变 ocr PaddleOCR( text_detection_model_namePP-OCRv6_small_det, text_recognition_model_namePP-OCRv6_small_rec, )官方给出的数据是medium 档比 PP-OCRv5_server 检测精度高 4.6%、识别高 5.1%CPU 端配合 OpenVINO 有 5.2 倍加速。扫描件到 MarkdownPP-StructureV3纯文本行解决不了 RAG 的真实需求——模型需要知道哪些是标题、哪些是表格、哪些是公式。PP-StructureV3是一条完整流水线版面检测先把页面切成标题、正文、表格、公式等区块表格走结构识别输出 HTML最后按阅读顺序拼成 Markdownpaddleocr pp_structurev3 -i ./manual_page.png \ --use_doc_orientation_classify False \ --use_doc_unwarping False相比只输出文字的方案它的 JSON 结果里带更细的坐标表格单元格级、文本区块级做高亮回显或字段抽取时可以直接定位到格子而不只是行。两个文档里不太起眼的用法 第一个是doc2md_convertWord、Excel、PPT 不用先转图片直接进转换函数图片会被抽到images/目录并在 Markdown 里引用from paddleocr import doc2md_convert # 办公文档直转 Markdown省去截图→OCR的中间环节 result doc2md_convert(report.docx, outputoutput.md) print(result.markdown)第二个是多页 PDF 的 Markdown 拼接。逐页 predict 得到的是 N 段 Markdownconcatenate_markdown_pages负责按阅读顺序合并跨页内容的衔接比你自己.join更可靠from paddleocr import PPStructureV3 pipeline PPStructureV3() results pipeline.predict(manual.pdf) markdown pipeline.concatenate_markdown_pages( [r[markdown] for r in results] # 保持页序再合并 )还有一个小开关PaddleOCR(return_word_boxTrue)会返回单字级坐标做印章定位、关键字高亮这类需求时不用再对行内文字二次切割。部署时先砍掉不需要的环节解析类任务的耗时大头往往不在识别而在预处理。⚠️ 默认打开的文档方向分类和曲面拉直对扫描件有用但对摆正拍平的图纯属白跑显式关掉如 30 秒上手一节所示立竿见影。引擎层面二选一即可起步enginepaddle走 PaddlePaddle 推理enginetransformers走 Hugging Face 生态同一套 pipeline 参数不用改。追求更高吞吐时官方支持 OpenVINO、TensorRT、ONNX Runtime 后端以及多 GPU 多进程并行推理详见 高性能推理文档 和 并行推理说明。部署路径按场景递进本地脚本用 Python SDK服务端用 PaddleX 的 serving 方案给 C、Java 等语言发 HTTP 请求集群场景再叠 Kubernetes 编排。一条链路的完整形态是输入扫描件 PDF →PP-StructureV3输出带表格的 Markdown → 切块进向量库 → LLM 按语义问答中间不再需要人工整理文档。更多细节可以看 快速上手、安装与功能选型 和 常见问题。【免费下载链接】PaddleOCRTurn any PDF or image document into structured data for your AI. A powerful, lightweight OCR toolkit that bridges the gap between images/PDFs and LLMs. Supports 100 languages.项目地址: https://gitcode.com/GitHub_Trending/pa/PaddleOCR创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考