OCR en Nextcloud: gestión documental con Clasificador de documentos

Configura el OCR en Nextcloud con Clasificador de documentos: carpeta de bandeja de entrada, RapidOCR para escaneos y fotos, 48 tipos de documentos en 13 categorías y archivado automático. Incluye comparación con Paperless-ngx.

Si ya guardas tus archivos en Nextcloud, la parte molesta de la gestión documental rara vez es el almacenamiento. Es el orden. Escaneas un contrato, haces una foto a un DNI, descargas una factura en PDF y el archivo acaba en una carpeta donde solo lo volverás a encontrar si recuerdas cómo lo llamaste. El OCR en Nextcloud es justo el hueco que cubre Clasificador de documentos: lee el texto de lo que dejas en una bandeja de entrada, reconoce qué tipo de documento es y lo archiva en carpetas por categoría y tipo.

Este tutorial recorre una puesta en marcha funcional en tu propio servidor y después lo compara con honestidad con Paperless-ngx, porque las dos herramientas resuelven problemas que se solapan pero no son idénticos.

Qué necesitas antes de empezar

  • Nextcloud 30 a 34 y PHP 8.1 o superior.
  • Las tareas en segundo plano de Nextcloud (Cron) en ejecución, ya que el archivado automático se ejecuta cada 15 minutos.
  • Python 3.8 o superior (python3) en el servidor si quieres que se lean fotos y PDF escaneados. Los archivos de ofimática y el texto plano se clasifican sin él.
  • Acceso a internet una vez, para la instalación del lector, que descarga los paquetes de Python.
  • Una licencia de la app (una por instancia de Nextcloud). Todos los detalles están en la guía de usuario.

Paso 1: Instalar y activar la app

Descarga el archivo docsort-x.y.z.tar.gz desde tu cuenta de MediaLab Works en Licenses y extráelo en tu carpeta de apps para que quede apps/docsort/, con el usuario del servidor web como propietario:

cd /var/www/nextcloud/apps
sudo tar -xzf ~/docsort-x.y.z.tar.gz
sudo chown -R www-data:www-data docsort

Actívala desde la línea de comandos o desde la página Apps:

sudo -u www-data php occ app:enable docsort

Después abre Administration settings → Document sorter → License, pega tu clave de licencia y guarda. La app contacta con el servidor de licencias, vincula la clave a esta instancia y muestra la licencia como Active. La comprobación se ejecuta una vez al día; sin internet, la app sigue funcionando 7 días después de la última comprobación correcta. Si la licencia no es válida, el archivado simplemente se detiene y los archivos esperan en la bandeja de entrada: no se borra nada.

Paso 2: Instalar el lector de documentos

En Administration settings → Document sorter, pulsa Install the reader. Una tarea en segundo plano crea un entorno de Python en el directorio de datos (appdata_<id>/docsort/python) con RapidOCR, pypdfium2 y OpenCV. Cuenta con unos 150 MB de descarga y unos 500 MB en disco. Si prefieres la terminal:

sudo -u www-data php occ docsort:install

Usa --remove para empezar de cero, o el botón Remove and install again en los ajustes. Este lector es lo que hace posible la extracción de texto con RapidOCR en fotos y PDF escaneados; los PDF que ya contienen una capa de texto se leen directamente, y los archivos de ofimática se leen desde el XML que llevan dentro.

Paso 3: Configurar tu bandeja de entrada personal

Cada usuario configura esto por su cuenta en Personal settings → Document sorter:

  1. Activa Sort my documents.
  2. Define las Inbox folders, una por línea, relativas a tus archivos. La opción predeterminada es Documente/De sortat (en rumano, «Documents/To sort»).
  3. Elige where sorted documents go — por defecto Documente.
  4. Decide qué ocurre con un documento reconocido: moverlo, copiarlo (el original se queda en la bandeja de entrada) o solo etiquetarlo.
  5. Elige una carpeta por categoría y luego por tipo, o una carpeta por tipo.
  6. Decide qué pasa con los documentos no reconocidos: se quedan en la bandeja de entrada o van a una carpeta Unsorted.
  7. Elige los nombres de carpetas y etiquetas en rumano o en inglés.

Este último punto importa si compartes la instancia con familiares o compañeros: las mismas reglas producen Documente/Financiar/Factura o Documents/Finance/Invoice, según el ajuste.

Paso 4: Deja archivos y míralos archivarse

Coloca escaneos, fotos y PDF en la carpeta de bandeja de entrada desde la interfaz web, el cliente de escritorio o el móvil. En 15 minutos cada archivo se lee, se reconoce, se etiqueta Document: <kind> y se mueve a Documente/<category>/<kind>/.

En la página personal, Sort now lo ejecuta al momento y Only show what would happen muestra una vista previa del resultado sin mover nada. Recently sorted lista lo archivado y dónde. Desde una terminal también puedes ejecutar:

sudo -u www-data php occ docsort:scan [user] [--dry-run] [--again] [--limit N]
sudo -u www-data php occ docsort:classify <file> [--text]

El primero clasifica la bandeja de entrada de todos o de una persona (con opción de simulación); el segundo muestra cómo se clasificaría un solo archivo.

Los 48 tipos en 13 categorías

De serie, la app reconoce 48 tipos de documentos agrupados en 13 categorías: identidad, estado civil, permisos y licencias, vehículo, finanzas, legal, propiedad, salud, educación, trabajo, suministros, seguros y otros. Cada tipo es una lista de palabras clave con pesos, en rumano e inglés, con una puntuación mínima. Por eso un DNI y un certificado de nacimiento acaban en carpetas distintas sin que tengas que nombrar bien ni un solo archivo.

Paso 5: Ajustar las reglas cuando una clasificación falla

Las reglas son JSON plano con los campos id, category, en, ro, min y keywords. Como administrador puedes editarlas en Rules, pulsar Save rules o volver a las reglas integradas en cualquier momento. Antes de guardar, usa Try the rules: pega el texto de un documento, pulsa Classify y mira cómo se clasificaría y qué palabras lo decidieron. No se almacena nada. Es la forma más rápida de corregir un archivo mal clasificado que se repite: añade la palabra que falta al tipo correcto y sigue adelante.

Solución de problemas

  • Las fotos y los PDF escaneados no se clasifican, pero los archivos de ofimática sí: el lector no está instalado. Administration settings → Overview muestra un aviso; instálalo desde la sección de Document sorter.
  • «No Python 3 was found on this server»: instálalo (apt install python3 python3-venv) y pulsa Install the reader de nuevo.
  • La instalación falla durante la descarga: el servidor necesita acceso a internet una vez para obtener los paquetes de Python. Revisa el proxy y el cortafuegos y vuelve a intentarlo.
  • Un archivo se queda en la bandeja de entrada con la etiqueta Document: ?: ningún tipo alcanzó su puntuación mínima. Revisa el texto con Try the rules y añade las palabras que faltan.

Una nota de privacidad que conviene repetir: el texto de los documentos nunca se almacena. La app solo recuerda qué se reconoció en cada archivo, para no leerlo dos veces. Todo se ejecuta en tu servidor; ningún documento se envía a ningún sitio.

Clasificador de documentos frente a Paperless-ngx, con honestidad

Paperless-ngx es un archivo documental dedicado: tiene su propia base de datos, su propia interfaz web, su propia carpeta de consumo y su propia idea de cómo deben guardarse los documentos. Si tu objetivo es un archivo consultable con corresponsales, tipos de documento y una búsqueda de texto completo potente, es una elección madura y excelente. Hace un solo trabajo y lo hace a fondo.

Clasificador de documentos adopta otra postura. No construye un segundo archivo junto a Nextcloud; trabaja dentro del árbol de archivos que ya tienes. Los escaneos siguen siendo archivos normales en carpetas normales, accesibles desde el cliente de escritorio, la app móvil y cualquier otra función de Nextcloud. La app añade reconocimiento, etiquetado y archivado por encima, por usuario, y cada persona elige su propia bandeja de entrada, destino y modo. Para un hogar o un equipo pequeño que ya vive en Nextcloud, eso significa no tener un segundo sistema que copiar, ni un segundo inicio de sesión, ni migrar las carpetas existentes.

El compromiso es real: Clasificador de documentos es un clasificador, no un archivo con su propio modelo de metadatos e interfaz de búsqueda. Si necesitas corresponsales al estilo de Paperless y una base de datos documental dedicada, Paperless-ngx sigue encajando mejor. Si lo que de verdad quieres es que Nextcloud deje de ser un caos de escaneos sin ordenar, esta es la herramienta más pequeña y más natural.

Conclusión

Una puesta en marcha de OCR en Nextcloud requiere tres cosas: la app activada con una licencia válida, el lector instalado para fotos y PDF escaneados y una carpeta de bandeja de entrada que cada usuario use de verdad. A partir de ahí, la tarea de 15 minutos hace la parte aburrida, las reglas siguen siendo editables en JSON y Try the rules te permite corregir errores sin adivinar. Empieza en la página del producto, ten a mano la guía y el changelog y, si algo se comporta de forma extraña, la base de conocimiento y las FAQ son el siguiente paso.

Esta publicación se redactó con ayuda de IA a partir de la documentación de nuestros productos o de las fuentes indicadas y se revisó automáticamente antes de publicarse.

Sigue leyendo

Aceleración por hardware en Emby: ¿transcodifica la GPU o la CPU?

Comprueba si la aceleración por hardware de Emby funciona de verdad: prueba VA-API, QuickSync y NVENC con el ffmpeg de Emby, aplica la solución exacta para el grupo render y los drivers, y descubre por qué se transcodifica cada reproducción.

¿Usas Emby, Jellyfin o Nextcloud?

Nuestros plugins y apps añaden TV en directo, subtítulos, registro de usuarios y seguridad a tu propio servidor, con prueba gratuita.