feat(ocr): add multi-language OCR support with per-pipeline language override
- Add OCR_LANGUAGES constant (28 languages, EN/DE/FR/ES/IT/PT/RU/ZH/JA/KO/AR/etc.) - Add TESSERACT_TO_EASYOCR mapping for automatic code translation - Add optional language constructor arg to TesseractOCRProvider/EasyOCRProvider - Update get_ocr_providers() to accept and pass per-call language override - Add language parameter to process_with_ocr Celery task - Add _get_pipeline_ocr_language() helper to resolve OCR language from pipeline step config - Update process_document to look up and pass pipeline OCR language to process_with_ocr - Add ocr_language select config field (28 options) to pipeline OCR step schema - Add language dropdown to pipeline UI (pipelines.html) - Update docs/UserGuide.md and docs/API.md with language override documentation - Add 27 new tests covering language constants, provider overrides, and pipeline lookup Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
This commit is contained in:
+29
-3
@@ -1785,12 +1785,27 @@ Returns the catalogue of built-in step types.
|
||||
"label": "OCR Processing",
|
||||
"description": "Extract text using Azure Document Intelligence or local Tesseract.",
|
||||
"config_schema": {
|
||||
"force_cloud_ocr": { "type": "boolean", "default": false }
|
||||
"force_cloud_ocr": { "type": "boolean", "default": false },
|
||||
"ocr_language": {
|
||||
"type": "select",
|
||||
"default": "auto",
|
||||
"description": "Language(s) for OCR. Overrides the global setting for Tesseract/EasyOCR. Azure/Mistral auto-detect.",
|
||||
"options": [
|
||||
{ "value": "auto", "label": "Auto (use system default)" },
|
||||
{ "value": "eng", "label": "English" },
|
||||
{ "value": "deu", "label": "German" },
|
||||
{ "value": "fra", "label": "French" },
|
||||
{ "value": "spa", "label": "Spanish" },
|
||||
"..."
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
The `ocr_language` field accepts Tesseract language codes (e.g. `"eng"`, `"deu"`, `"eng+deu"` for multi-language) or `"auto"` to fall back to the global system setting. The full list of 28 supported language codes is returned by the step-types endpoint.
|
||||
|
||||
### List pipelines
|
||||
|
||||
```bash
|
||||
@@ -1883,12 +1898,23 @@ Content-Type: application/json
|
||||
|
||||
{
|
||||
"step_type": "ocr",
|
||||
"label": "Cloud OCR",
|
||||
"config": { "force_cloud_ocr": true },
|
||||
"label": "German OCR",
|
||||
"config": { "force_cloud_ocr": false, "ocr_language": "deu" },
|
||||
"enabled": true
|
||||
}
|
||||
```
|
||||
|
||||
Multi-language (Tesseract `+`-separated codes):
|
||||
|
||||
```bash
|
||||
{
|
||||
"step_type": "ocr",
|
||||
"config": { "ocr_language": "eng+deu" }
|
||||
}
|
||||
```
|
||||
|
||||
Use `"ocr_language": "auto"` (or omit the field) to fall back to the global system language setting.
|
||||
|
||||
### Update step
|
||||
|
||||
```bash
|
||||
|
||||
Reference in New Issue
Block a user