PaddleOCR: el OCR que entiende la page
PaddleOCR es un conjunto de herramientas de OCR libre (licencia Apache 2.0, más de 90.000 estrellas en GitHub) que detecta el texto en cualquier parte de una página y reconstruye tablas. Con su variante PaddleOCR-VL, un modelo de visión con aproximadamente 900 millones de parámetros alcanza el 96,33 % en el benchmark de referencia OmniDocBench v1.6: suficiente para sustituir un lector línea por línea en documentos reales, a costa de una instalación más pesada.
PaddleOCR hace lo que un motor de reconocimiento óptico tradicional no puede hacer: detectar texto en cualquier lugar de una página, leer texto denso y reconstruir la estructura de una tabla. Es más pesado que el motor histórico, y precisamente eso es lo que se necesita para los documentos importantes: facturas, formularios, informes y documentos escaneados multilingües.
#Primero, la detección: qué cambia
PaddleOCR es un conjunto de herramientas de OCR libre, bajo licencia Apache 2.0, que no lee una página línea por línea: primero busca dónde está el texto, luego lee cada zona y después puede reconstruir la estructura de la página y sus tablas. Esto hace que sea robusto con facturas, formularios, documentos escaneados inclinados y documentos multilingües, donde un motor como Tesseract produce disparates con total seguridad. El proyecto existe en dos familias: un pipeline modular (PP-OCRv6 para la lectura, PP-StructureV3 para la estructura) y PaddleOCR-VL, un modelo de visión de aproximadamente 0,9 mil millones de parámetros que convierte una página en Markdown en una sola pasada y obtiene un 96,33 % en OmniDocBench v1.6 según su editor. El precio a pagar es una instalación más pesada, con PaddlePaddle y pesos de modelos, y requisitos de GPU documentados para la variante VL. Para grandes volúmenes de texto limpio, un motor ligero sigue siendo más sencillo.
Un motor clásico supone que una página está compuesta por líneas de texto dispuestas como en un libro. Los documentos reales no están organizados así: una factura tiene recuadros, un formulario tiene campos, una presentación tiene texto sobre imágenes, una imagen escaneada llega torcida y un plano técnico lleva etiquetas inclinadas.
PaddleOCR divide el problema. Un modelo de detección encuentra las zonas de texto dondequiera que estén y devuelve su posición; un modelo de reconocimiento lee cada zona. Un texto inclinado, una leyenda en el margen y un número en una celda se convierten en tres zonas entre otras. Eso le permite funcionar en documentos en los que un lector línea por línea se equivoca sin que resulte evidente.
#Las etapas del pipeline
Tu ChatGPT privado y gratuito en tu máquina en 1 hora — LM Studio, Ollama, Open WebUI, tus documentos, sin nube.
- Espacio en línea de por vida
- PDF + archivos
- Reembolsado 30 j
| Paso | Lo que produce | Por qué importa |
|---|---|---|
| Detección de texto | Cuadros alrededor de cada zona de texto | Nada pasa desapercibido por estar en una posición inusual |
| Clasificación de orientación | La orientación correcta de cada zona | Los escaneos torcidos dejan de ser un caso especial |
| Reconocimiento | La cadena de caracteres de cada recuadro | La etapa de lectura propiamente dicha |
| Análisis de la maquetación | El tipo de cada zona: título, párrafo, figura, tabla | La segmentación puede seguir la estructura en lugar de un contador de caracteres |
| Reconocimiento de tablas | Filas, columnas, celdas | Los números conservan la etiqueta que les da sentido |
No todas las etapas son obligatorias. Leer algunas etiquetas solo requiere detección y reconocimiento; incorporar informes financieros para una búsqueda documental justifica la cadena completa. PP-OCRv6, la generación de modelos de reconocimiento publicada en 2026, cubre por sí sola 50 idiomas en un modelo unificado (chino, inglés, japonés y 46 idiomas con alfabeto latino), sin cambiar de modelo de un idioma a otro.
#PaddleOCR-VL: el OCR que se convierte en un modelo de visión
Desde octubre de 2025, el proyecto publica una segunda familia bajo el mismo nombre: PaddleOCR-VL, un modelo compacto de visión y lenguaje que sustituye todo el proceso de cinco etapas por una sola pasada. La versión 1.6, lanzada a finales de mayo de 2026, cuenta con aproximadamente 0,9 mil millones de parámetros y combina un codificador visual de resolución dinámica con un pequeño modelo de lenguaje. En OmniDocBench v1.6, el benchmark de referencia para la conversión de documentos a Markdown o JSON, alcanza una puntuación del 96,33 %, un nivel que el propio proyecto califica de nuevo estado del arte.
Lo que llama la atención no es solo el puntaje: es el tamaño del modelo que lo logra. Una guía publicada por InsiderLLM resume la situación en una frase: un modelo de 900 millones de parámetros que supera a un modelo de 72 mil millones y a GPT-4o en el OCR de documentos. El mismo artículo cuantifica las necesidades de memoria del competidor generalista —Qwen2.5-VL-72B necesita 48 GB de VRAM o más con cuantización Q4—, mientras que PaddleOCR-VL, convertido al formato GGUF y cuantizado en Q4_K_M, ocupa aproximadamente entre uno y un gigabyte y medio, contando los pesos del modelo de lenguaje y del proyector visual juntos. Esta vía GGUF es reciente: la compatibilidad con PaddleOCR-VL se incorporó a llama.cpp en febrero de 2026 (versión b8110), y los archivos GGUF disponibles son los de la comunidad, no los del equipo de PaddleOCR.
La pieza que genera la puntuación OmniDocBench no es la única: junto a PaddleOCR-VL, el proyecto mantiene PP-StructureV3, un pipeline dedicado a convertir PDF complejos en Markdown o en JSON con las coordenadas precisas de cada celda de tabla y cada bloque de texto. Ambas piezas buscan el mismo objetivo — un documento real convertido correctamente — mediante dos caminos diferentes: un modelo único para PaddleOCR-VL, una cadena de componentes especializados para PP-StructureV3. El motor, cualquiera que sea, soporta inferencia multi-GPU y multi-proceso de forma nativa, lo cual es clave cuando se debe procesar un corpus de decenas de miles de páginas en un plazo razonable.
#PaddleOCR o Tesseract
| PaddleOCR | Tesseract | |
|---|---|---|
| Instalación | Pila de software Python y pesos de los modelos | Un pequeño binario |
| Escaneo limpio en una columna | Excelente | Excelente, y más rápido |
| Texto en cualquier parte de la página | Excelente | Débil |
| Tablas | Estructura reconstruida | Aplatis |
| Escrituras no latinas | Muy bueno | Depende en gran medida del paquete de idioma |
| Documento inclinado unos grados | Corregido por la clasificación de orientación | Puede reducir el índice de lectura |
| GPU | Opcional, gran mejora | No utilizado |
Una cadena bien diseñada utiliza ambos: las páginas simples van al motor ligero y las complejas, al motor costoso. El enrutamiento no cuesta nada y ahorra horas en un gran corpus. La observación sobre la inclinación no es anecdótica: Koncile, un proveedor de software de extracción de facturas, midió en sus propias pruebas que la tasa de lectura de Tesseract pasó del 100 % en una factura sin inclinar al 31 % en cuanto el escaneo se inclinó apenas entre 3 y 5 grados, exactamente el caso para el que está diseñada la etapa de clasificación de orientación de PaddleOCR.
- Tesseract: el motor ligero y cuándo basta
- Docling: convertir documentos estructurados
- Extraer los datos de una factura de principio a fin
- Analizar una imagen con un modelo de visión local
#Casos de uso: cuándo pasar a PaddleOCR
- Facturación y contabilidad
- Una factura escaneada rara vez queda perfectamente recta; la estructura de la tabla (cantidad, precio unitario, IVA) debe seguir siendo legible para que los importes conserven su sentido en lugar de acabar en una línea de cifras aisladas.
- Expedientes administrativos multilingües
- Formularios, documentos de identidad, cartas en varios sistemas de escritura: la amplia cobertura de idiomas de PaddleOCR evita tener que configurar un motor diferente por país o por alfabeto.
- Informes largos para un RAG
- Conviene convertir un informe de varias decenas de páginas con títulos, subtítulos y tablas conservando su estructura: una segmentación que respete las secciones es mejor que una basada en el número de caracteres.
- Archivos escaneados sin ordenar
- Cajas de documentos en papel digitalizados sin cuidado y con orientación aleatoria: la etapa de clasificación de la orientación resuelve la mayor parte del desorden incluso antes de la lectura.
- Volumen elevado y texto limpio
- Por el contrario, un flujo de tickets de compra o extractos ya bien encuadrados, en grandes volúmenes, suele seguir funcionando mejor con un motor más ligero: ver la comparación con Tesseract más arriba.
#Instalar y lanzar la primera extracción
La instalación se realiza mediante pip, con una particularidad: desde la serie 3.x, el paquete paddleocr no basta por sí solo. La documentación indica que primero se debe instalar el motor de inferencia elegido (por defecto, PaddlePaddle) y después el paquete paddleocr. Los pesos de los modelos de detección, reconocimiento y, cuando corresponda, análisis de la disposición de la página se descargan al ejecutar por primera vez cada pipeline utilizado.
- 01Instalar la bibliotecaInstalar primero PaddlePaddle siguiendo la página oficial de instalación (la variante CPU o GPU según la máquina), luego ejecutar python -m pip install paddleocr. El paquete base admite Python 3.8 o superior; los extras para el análisis de documentos (paddleocr[doc-parser]) requieren Python 3.9 o superior.
- 02Iniciar una primera extracciónEl comando paddleocr ocr toma una imagen de entrada (opción -i) y escribe los resultados en el directorio indicado por --save_path. Para convertir una página a Markdown con PaddleOCR-VL, el comando es paddleocr doc_parser, con las mismas opciones -i y --save_path.
- 03Activar las etapas útilesLas opciones use_doc_orientation_classify, use_doc_unwarping y use_textline_orientation activan la corrección de la inclinación de una página o una línea. En documentos escaneados limpios, establecerlas en False acelera el procesamiento; de hecho, la documentación oficial recomienda desactivar las funciones innecesarias cuando la inferencia es demasiado lenta.
#¿Qué consume?
El proyecto no publica una velocidad de procesamiento universal por página: depende de la densidad del documento, de las etapas activadas y del hardware, y la documentación recomienda desactivar las funciones innecesarias o elegir modelos más ligeros cuando la inferencia es lenta. Mide con unas veinte páginas tuyas antes de extrapolar a un corpus. Para PaddleOCR-VL, la documentación oficial indica los requisitos de GPU NVIDIA (PaddlePaddle: capacidad de cómputo 7.0 o superior y CUDA 11.8 o superior; vLLM: 8.0 o superior y CUDA 12.6 o superior) y también contempla una opción para procesadores x64. Los pesos se descargan una vez y después todo es local: ninguna API, ningún coste por página.
#El argumento decisivo: sin invenciones
PaddleOCR lee píxeles. Puede leer mal un carácter, y la sustitución de un dígito no siempre se detecta. Un modelo de visión generalista al que se le pide que transcriba un documento puede generar un valor bien formado, plausible y ausente de la página, sin que nada en la salida lo indique. PaddleOCR-VL es más delicado: como genera el texto en lugar de leerlo zona por zona, pertenece a la misma familia de riesgos que los modelos de visión generalistas, aunque esté entrenado para la transcripción. Ningún sistema está a salvo de cometer un error al leer un carácter ambiguo.
Para el control documental, la contabilidad o cualquier tarea que deba poder auditarse, esta diferencia debe guiar la elección: un motor de OCR especializado para las cifras en las que vas a basarte, un modelo de visión generalista cuando quieres que el documento se explique en lugar de transcribirse. En documentos críticos, usar ambos y comparar sigue siendo una tercera opción legítima.
En la práctica, la verificación no requiere volver a leerlo todo. Una muestra de unas pocas decenas de documentos por lote, comparada manualmente con la salida del motor, basta para detectar una desviación sistemática —un campo mal delimitado, un idioma mal reconocido, una tabla que se divide mal con frecuencia— antes de que contamine miles de páginas procesadas automáticamente.
- Fuente: repositorio oficial PaddleOCR en GitHub
- Fuente: ficha del modelo PaddleOCR-VL-1.6
- Fuente: comparativa independiente de PaddleOCR-VL en local
#FAQ
¿Es gratuito PaddleOCR?+
¿Se necesita una GPU?+
¿PaddleOCR o Tesseract?+
¿Sabe extraer tablas?+
¿Qué es exactamente PaddleOCR-VL?+
¿Funciona fuera de línea?+
¿Un comentario, un error, una precisión? Avísanos, eso mejora la guía para todos.