OCR
Esta sección describe la configuración de OCR (reconocimiento óptico de caracteres) en Sync-in para extraer texto de imágenes contenidas en archivos PDF e integrarlo en la búsqueda de texto completo.
La configuración se realiza en environment.yaml, consulte la sección OCR.
Requisitos previos
- La indexación de contenido debe estar habilitada globalmente:
applications.files.contentIndexing.enabled(truepor defecto). - La indexación debe estar habilitada en el espacio correspondiente (habilitada por defecto).
- En modo fuera de línea (
offline: true), los archivos de idioma deben estar presentes localmente y ser legibles por el servidor.
Configuración
Ejemplo mínimo (modo online, descarga automática de idiomas si es necesario):
applications:
files:
contentIndexing:
enabled: true
ocr:
enabled: true
languages: [ eng,fra ]
offline: false
En el modo en línea, los archivos de idioma se almacenan en el directorio server/applications/files/assets/ocr-languages. La ruta puede variar dependiendo de si la instalación se realizó a través de NPM o Docker Compose.
Ejemplo sin conexión con un directorio local dedicado:
applications:
files:
contentIndexing:
enabled: true
ocr:
enabled: true
languages: [ eng,fra ]
offline: true
languagesPath: /app/ocr-lang
Modo sin conexión
Cuando offline: true, los archivos de idioma deben descargarse y proporcionarse localmente.
Sync-in se basa en los datos de idioma de Tesseract.js.
Formato de URL:
https://cdn.jsdelivr.net/npm/@tesseract.js-data/<lang>@1.0.0/4.0.0_best_int/<lang>.traineddata.gz
Ejemplo para francés e inglés:
mkdir -p /app/ocr-lang
curl -L -o /app/ocr-lang/fra.traineddata.gz \
https://cdn.jsdelivr.net/npm/@tesseract.js-data/fra@1.0.0/4.0.0_best_int/fra.traineddata.gz
curl -L -o /app/ocr-lang/eng.traineddata.gz \
https://cdn.jsdelivr.net/npm/@tesseract.js-data/eng@1.0.0/4.0.0_best_int/eng.traineddata.gz
Configuración correspondiente:
applications:
files:
contentIndexing:
ocr:
languages: [ fra, eng ]
offline: true
languagesPath: /app/ocr-lang
Los nombres de los archivos deben coincidir con los códigos definidos en languages (ejemplo: fra.traineddata.gz para fra).
Mejores prácticas
- Limite
languagesa los idiomas que realmente se necesitan para reducir el tiempo de indexación. - Habilite
offline: trueen entornos aislados o sin acceso a Internet.