Extraer tablas de PDF
Detecta tablas de PDF, corrige celdas y guarda en CSV o XLSX
Los archivos se procesan solo en este navegador. No se suben a ningún servidor.
Detecta las tablas de un PDF, corrige celdas y guarda en CSV o XLSX
Este PDF está protegido con contraseña.
Seguir en otra herramienta
Procesando…
Todo se ejecuta dentro de este navegador. Tu archivo nunca se envía a un servidor.
Tu archivo está listo para descargar
Seguir con este resultado
Abrir vista previa de páginas
Al cambiar un ajuste se oculta el resultado anterior. Vuelve a generarlo para guardar los ajustes actuales.
Quita primero la contraseña de un PDF cifrado. El procesamiento se centra en el contenido de las páginas, por lo que no se garantiza conservar marcadores, adjuntos, formularios ni firmas. Conserva el original y revisa el resultado.
Procesando…
0.0
No se ha bloqueado: el resultado aparecerá cuando termine el cálculo.
Acerca de Extraer tablas de PDF
Un PDF no contiene tablas como tales. Tiene unos cuantos segmentos de línea y fragmentos de texto repartidos entre ellos, así que extraer una tabla consiste en deducir las celdas a partir de la disposición. Esta herramienta usa dos deducciones. Las tablas con filetes se reconstruyen siguiendo sus líneas (lattice). Las tablas alineadas con espacios y sin líneas se cortan por los canales verticales vacíos entre el texto (stream). El modo automático busca primero las tablas con líneas y después las de espacios en el texto restante, las mismas dos estrategias que usan herramientas como Camelot o Tabula.
Las tablas detectadas se pueden corregir allí mismo —editar una celda, unir o borrar filas y columnas, añadir o quitar separadores— y exportar a XLSX (una hoja por tabla) o CSV.
Lattice: un filete que falta indica una celda combinada
Se recogen como segmentos horizontales o verticales todas las líneas rectas, contornos de rectángulos, rectángulos rellenos finos y bordes de fondos de celda de la página. Los segmentos a menos de 2 pt se consideran la misma línea, los que se tocan se agrupan y cada grupo conectado es una tabla. La posición de los filetes da los límites de filas y columnas.
Si falta el límite entre dos celdas en ese tramo, se interpretan como combinadas y se exportan como rango combinado en Excel. El reverso son las tablas que omiten los filetes de fila por diseño —una línea bajo la cabecera y nada más—: varias filas acaban en una sola celda. Cambia esa tabla a stream o añade separadores de fila.
Stream: no confundir un texto a dos columnas con una tabla
Una línea cuyos bloques de texto están separados por huecos del tamaño de una columna cuenta como línea de varias celdas. Dos o más de esas líneas, a menos de 2,6 alturas de línea entre sí, forman una candidata. Los bloques se proyectan sobre el eje horizontal y cada canal vertical que ningún texto toca se convierte en límite de columna.
El falso positivo más habitual es el texto a dos columnas, así que se descartan las candidatas cuya celda mediana tiene más de 40 caracteres, las de dos columnas con más de 25, o aquellas en que un bloque ocupa más del 45 % del ancho de página en un diseño de dos columnas. También se descartan con menos de cuatro celdas con contenido. El problema contrario son las celdas cuyo texto ocupa varias líneas: cada línea visual se convierte en una fila, y se juntan con «unir con la fila de abajo».
Tablas en PDF escaneados
Un escaneo sin capa de texto no da nada. Tras añadirla con OCR ya hay texto, pero los filetes siguen siendo píxeles de una imagen, no líneas vectoriales. Por eso lattice no funciona en documentos pasados por OCR; solo stream. En una tabla escaneada con muchas líneas los huecos entre columnas son estrechos y las columnas tienden a fusionarse, así que suele ser más rápido añadir separadores de columna a mano.
Tablas de varias páginas y reglas de exportación
Una tabla de la página siguiente se puede añadir a la anterior cuando tiene el mismo número de columnas y sus límites coinciden con un margen de 6 pt, o su primera fila repite la cabecera. La cabecera repetida se elimina por defecto.
Al exportar, «1.234,56», «(1.234,5)», «1.234.567», «12,5» y «−12» se convierten en números para que Excel pueda sumarlos; los paréntesis se leen como negativos contables. En la versión en español el reconocimiento usa la coma como decimal y el punto como separador de miles. Si una cifra lleva punto y coma a la vez, el último signo es el decimal, así que «1,234.56» de un PDF en inglés también se lee bien. Un valor con un solo signo seguido de tres cifras, como «1.234» o «1,234», puede ser mil doscientos treinta y cuatro o uno coma dos, según el idioma del PDF; en vez de adivinar, se deja como texto. Los códigos con ceros a la izquierda como «007» y los números de 16 cifras o más, como los de tarjeta, también quedan como texto: Excel solo guarda 15 cifras significativas y el resto lo convierte en ceros. El CSV sigue la RFC 4180 con finales CRLF y BOM UTF-8. Las celdas que empiezan por =, +, @ o - y no son números simples llevan un apóstrofo delante para que no se ejecuten como fórmulas (inyección CSV).
Ejemplos
Negativo contable
- Entrada
Celda «(12,500)»- Resultado
Número −12500 en XLSX
Un número entre paréntesis se lee como negativo. «-(12,500)» mezcla ambas convenciones y se deja como texto.
Número de tarjeta de 16 cifras
- Entrada
Celda «4111111111111111»- Resultado
Se guarda como texto
Como número, Excel almacenaría 4111111111111110. Todo lo que pase de 15 cifras queda como texto para conservar el valor original.
Importe con formato español
- Entrada
Celdas «1.234,56» y «1.234»- Resultado
1234,56 como número; «1.234» como texto
Con decimales o con varios puntos (1.234.567) no hay duda y la celda es numérica. «1.234» sin más puede ser mil doscientos treinta y cuatro o 1,234, así que queda como texto en lugar de sumarse mal. Revisa esas celdas antes de sumar: en Excel se ven alineadas a la izquierda.
Cómo se usa
- Añade un PDF; se listan las tablas encontradas en cada página.
- Revisa los límites de celda en la vista previa; cambia el modo de una tabla o edita separadores si hace falta.
- Selecciona las tablas, elige XLSX o CSV y descarga.
Preguntas frecuentes
No se ha encontrado ninguna tabla.
O el PDF es un escaneo sin texto, o la tabla no tiene ni filetes ni una alineación clara por espacios. Si es un escaneo, pasa antes el OCR; si no, usa «convertir toda la página en tabla» en la vista previa y añade separadores.
Algunas celdas del CSV empiezan con un apóstrofo.
Las celdas que empiezan por =, +, @ o - y no son números simples se marcan así para que la hoja de cálculo no las ejecute como fórmulas. Los negativos normales como -12 no se tocan.
Algunos importes en euros no se suman en Excel.
«1.234,56» y «1.234.567» se exportan como números, pero un importe sin decimales con un solo punto, como «1.234», se deja como texto porque también podría ser 1,234. Conviértelo en la hoja quitando el punto. El CSV guarda siempre el texto tal cual; para importarlo, ajusta la configuración regional.
Las celdas combinadas salen separadas.
CSV no puede representar combinaciones. Exporta a XLSX para conservarlas.
Fuentes
- Camelot documentation — How it works (Lattice and Stream)
- RFC 4180 — Common Format and MIME Type for CSV Files
- OWASP — CSV Injection
- Microsoft — Excel specifications and limits (15-digit precision)
Revisado el: