Guide de Configuration — PaddleOCR
juin 2026 · 4 min de lecture
Guide de Configuration — PaddleOCR
Transforme n'importe quelle image ou PDF en données structurées lisibles par ton IA. 100+ langues supportées. GitHub : https://github.com/PaddlePaddle/PaddleOCR
Prérequis
- Python ≥ 3.8 (3.9+ pour les fonctions avancées)
- pip à jour :
pip install --upgrade pip - GPU optionnel (NVIDIA CUDA pour accélération)
1. Installation — CPU (standard)
# Installation de base (OCR général + pré-traitement d'images)
pip install paddleocr
# Installation complète (parsing de documents, traduction, extraction d'infos)
pip install "paddleocr[all]"
2. Installation — GPU (optionnel, pour gros volumes)
# CUDA 11.8
pip install paddlepaddle-gpu==3.2.0 -i https://www.paddlepaddle.org.cn/packages/stable/cu118/
# CUDA 12.6
pip install paddlepaddle-gpu==3.2.1 -i https://www.paddlepaddle.org.cn/packages/stable/cu126/
# Puis installer PaddleOCR
pip install paddleocr
3. Premier test — CLI
# OCR sur une image locale
paddleocr --image_dir ./mon_image.jpg --lang fr --use_gpu false
# OCR avec détection d'angle (documents scannés inclinés)
paddleocr --image_dir ./scan.jpg --use_angle_cls true --lang fr --use_gpu false
# OCR sur un PDF
paddleocr --image_dir ./document.pdf --lang fr
Langues disponibles : fr, en, ch (chinois), german, korean, japan, et 95+ autres.
4. Utilisation en Python
OCR basique sur une image
from paddleocr import PaddleOCR
ocr = PaddleOCR(use_angle_cls=True, lang='fr')
result = ocr.ocr('mon_image.jpg', cls=True)
for line in result[0]:
print(line[1][0]) # Texte extrait
print(line[1][1]) # Score de confiance
Extraction depuis un PDF
from paddleocr import PaddleOCR
ocr = PaddleOCR(use_angle_cls=True, lang='fr')
result = ocr.ocr('document.pdf', cls=True)
for page_num, page in enumerate(result):
print(f"--- Page {page_num + 1} ---")
for line in page:
print(line[1][0])
Résultat structuré (JSON)
import json
from paddleocr import PaddleOCR
ocr = PaddleOCR(lang='fr')
result = ocr.ocr('facture.jpg')
# Extraire uniquement le texte
textes = [line[1][0] for line in result[0]]
print(json.dumps(textes, ensure_ascii=False, indent=2))
5. Intégration avec un LLM (pipeline complet)
from paddleocr import PaddleOCR
from openai import OpenAI
# 1. Extraire le texte de l'image
ocr = PaddleOCR(lang='fr')
result = ocr.ocr('contrat.jpg')
texte_extrait = " ".join([line[1][0] for line in result[0]])
# 2. Envoyer à un LLM pour analyse
client = OpenAI()
response = client.chat.completions.create(
model="gpt-4o-mini",
messages=[
{"role": "system", "content": "Tu es un assistant qui analyse des documents."},
{"role": "user", "content": f"Résume ce document et liste les points clés :\n\n{texte_extrait}"}
]
)
print(response.choices[0].message.content)
6. Fonctions avancées
Parsing de documents (tableaux, titres, mise en page)
pip install "paddleocr[doc-parser]"
from paddleocr import PaddleOCR
ocr = PaddleOCR(use_doc_layout_analysis=True, lang='fr')
result = ocr.ocr('rapport.pdf')
Traduction automatique
pip install "paddleocr[trans]"
from paddleocr import PaddleOCR
ocr = PaddleOCR(lang='japan', enable_mkldnn=True)
result = ocr.ocr('menu_japonais.jpg')
7. Performances recommandées
| Volume | Config recommandée | Temps estimé |
|---|---|---|
| 1–10 images | CPU, paddleocr de base |
< 2 sec/image |
| 10–100 images | CPU multi-thread | < 1 sec/image |
| 100+ images / PDF lourds | GPU CUDA | < 0.2 sec/image |
| Tableaux / layouts complexes | paddleocr[doc-parser] |
2–5 sec/page |
Vérification
-
pip show paddleocrretourne la version installée - Test CLI sur une image réussit
- Résultat Python contient le texte attendu
- Pipeline LLM fonctionne de bout en bout
Ressources
- Docs officielles : https://paddlepaddle.github.io/PaddleOCR/main/en/
- Quick Start : https://paddlepaddle.github.io/PaddleOCR/main/en/quick_start.html
- Modèles disponibles : https://github.com/PaddlePaddle/PaddleOCR#pp-ocr-series-model-list