--- title: PaddleOCR date: 2025-06-20T13:44:33+08:00 lastmod: 2025-06-20T13:58:33+08:00 --- # PaddleOCR   注意要点:   一、运行配置依赖于分析图片决定   二、注意分析文件不要带中文 ## 安装**PaddlePaddle 3.0**   ​`https://www.paddlepaddle.org.cn/install/quick?docurl=/documentation/docs/zh/install/conda/windows-conda.html` # 安装 paddleocr   ​`pip install paddleocr` ## 测试PaddleOCR ```bash paddleocr pp_structurev3 -i https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/pp_structure_v3_demo.png ```   ​`查看输出` ## 案例一、PDF分析   前提需要安装`conda install -c conda-forge pdf2image` ```bash from pathlib import Path from paddleocr import PPStructureV3 from pdf2image import convert_from_path import os # 输入 PDF 和输出路径 input_file = "C:/Users/zhens/Downloads/12.pdf" output_path = Path("C:/Users/zhens/Downloads/output") output_path.mkdir(parents=True, exist_ok=True) # Step 1: 把 PDF 转为图片 pdf_pages = convert_from_path(input_file, dpi=300) image_paths = [] for idx, page in enumerate(pdf_pages): img_path = output_path / f"page_{idx+1}.jpg" page.save(img_path, "JPEG") image_paths.append(str(img_path)) # Step 2: 使用 PPStructureV3 分析每页图像 pipeline = PPStructureV3() markdown_list = [] markdown_images = [] for img in image_paths: output = pipeline.predict(img) for res in output: md_info = res.markdown markdown_list.append(md_info) markdown_images.append(md_info.get("markdown_images", {})) # Step 3: 合并 Markdown 输出 markdown_texts = pipeline.concatenate_markdown_pages(markdown_list) mkd_file_path = output_path / f"{Path(input_file).stem}.md" with open(mkd_file_path, "w", encoding="utf-8") as f: f.write(markdown_texts) # Step 4: 保存图像资源(markdown_images) for item in markdown_images: if item: for path, image in item.items(): file_path = output_path / path file_path.parent.mkdir(parents=True, exist_ok=True) image.save(file_path) ``` ## 案例二、图片分析 ```bash from pathlib import Path from paddleocr import PPStructureV3 input_file = "./your_pdf_file.pdf" output_path = Path("./output") pipeline = PPStructureV3() output = pipeline.predict("./pp_structure_v3_demo.png") markdown_list = [] markdown_images = [] for res in output: md_info = res.markdown markdown_list.append(md_info) markdown_images.append(md_info.get("markdown_images", {})) markdown_texts = pipeline.concatenate_markdown_pages(markdown_list) mkd_file_path = output_path / f"{Path(input_file).stem}.md" mkd_file_path.parent.mkdir(parents=True, exist_ok=True) with open(mkd_file_path, "w", encoding="utf-8") as f: f.write(markdown_texts) for item in markdown_images: if item: for path, image in item.items(): file_path = output_path / path file_path.parent.mkdir(parents=True, exist_ok=True) image.save(file_path) ```