En esta guía
Copiás un párrafo de un PDF, lo pegás, y aparece algo como Ju e go de ol las anti adhe rente. O peor: Juegodeollasántiadherente. En pantalla se veía perfecto. La explicación está en cómo el formato PDF guarda el texto, que no se parece en nada a lo que uno imagina.
Un PDF no guarda letras, guarda glifos
Cuando un archivo de texto guarda la letra "a", guarda el número 97, que es el código Unicode de esa letra. Cualquier programa que lea ese 97 sabe que es una "a".
Un PDF no hace eso. Un PDF guarda algo más parecido a: "dibujá el glifo número 68 de la fuente F1". El glifo 68 puede ser una "a" en esa fuente, pero el número 68 no significa "a" en ningún lado: es simplemente la posición que ese dibujo ocupa dentro de ese archivo de fuente en particular.
Para que copiar y pegar funcione, el PDF tiene que incluir además una tabla de traducción que diga "en esta fuente, el glifo 68 corresponde al carácter Unicode 97". Esa tabla se llama ToUnicode, y es opcional. Un PDF sin ella se ve perfecto en pantalla y es basura al copiarlo.
Por qué falta esa tabla
La causa más común es una técnica de optimización llamada subconjunto de fuente. Para que el archivo pese menos, el generador no embebe la tipografía completa: embebe solamente los glifos que el documento usa realmente, y los renumera de cero. Si además omite el ToUnicode —muchos generadores baratos lo hacen—, no queda ninguna pista de qué carácter es cada dibujo.
Se reconoce enseguida: copiás y pegás y sale texto en un alfabeto que no existe, o una secuencia de símbolos sin sentido, siempre con la misma cantidad de caracteres que el original. Ese es el único caso realmente irrecuperable por extracción: no hay información que rescatar. La salida es el OCR, que ignora la estructura interna y reconoce los dibujos.
Por qué aparecen espacios donde no van
Este es el síntoma más frecuente y el que más sorprende cuando se entiende la causa: en un PDF, muchas veces no existen los caracteres de espacio.
La separación entre dos palabras puede estar guardada como un carácter de espacio, sí, pero también —y muy seguido— como un simple movimiento del cursor: "dibujá 'Juego', ahora corré la posición 3,2 puntos a la derecha, ahora dibujá 'de'". No hay espacio en ninguna parte: hay un salto.
Eso obliga a cualquier herramienta de extracción a inferir los espacios: mide la distancia entre el final de un fragmento y el comienzo del siguiente, y la compara con el tamaño de la fuente. Si la distancia supera cierto umbral, agrega un espacio.
De ahí salen los dos errores clásicos:
- Espacios de más (
Ju e go de ol las): el umbral quedó demasiado chico, y el ajuste fino entre pares de letras —el kerning— se interpreta como separación de palabras. - Palabras pegadas (
Juegode ollas): el umbral quedó demasiado grande y un espacio real no llegó a superarlo.
El texto justificado empeora todo
Cuando un párrafo está justificado a ambos márgenes, el programa que lo maquetó estiró los espacios entre palabras, y a veces también el espacio entre letras, para que la línea llegue justo al margen. Cada línea queda con una separación distinta. Un umbral fijo no puede acertar en todas, y por eso los documentos justificados son los que más espacios espurios producen.
Para los espacios de más dentro de palabras, en un editor con expresiones regulares: buscá (\w) (\w) y revisá caso por caso, porque no se puede automatizar sin romper las separaciones legítimas. Si el problema es masivo, conviene probar otra herramienta antes que corregir a mano: es un problema de umbral, y distintas implementaciones usan umbrales distintos.
Las palabras cortadas con guion
Un párrafo justificado corta palabras al final de la línea: correspon- y en la línea siguiente diente. Al extraer, eso llega como dos fragmentos con un guion en el medio. Hay que unirlos, pero con cuidado: no todo guion al final de línea es un corte. En "ex-presidente" el guion es parte de la palabra. La regla que funciona bien es unir solo cuando la línea siguiente empieza en minúscula.
Ligaduras: la palabra que el buscador no encuentra
En tipografía, ciertos pares de letras se dibujan juntos con un único glifo para que no se choquen: fi, fl, ff, ffi. Se llaman ligaduras y las usan casi todas las fuentes serif de calidad.
El problema es que ese único glifo, al copiarse, puede salir como un único carácter Unicode especial (U+FB01 para "fi") en lugar de las dos letras separadas. Visualmente es idéntico. Funcionalmente, no:
- Buscar "oficina" no encuentra "oficina", porque son cadenas distintas.
- Un BUSCARV en Excel falla contra tu base de datos.
- Contar caracteres da un número menor al esperado.
La solución es normalizar el texto. En Excel podés hacer buscar y reemplazar de cada ligadura por sus dos letras. En cualquier lenguaje de programación existe la normalización Unicode NFKC, que descompone las ligaduras automáticamente. Es una línea de código y resuelve el problema completo.
Tildes convertidas en símbolos
Si al pegar ves Instalación en vez de "Instalación", o “comillasâ€, no es un problema del PDF: es un problema de codificación en el camino. El texto salió en UTF-8 y algo lo leyó como si fuera Latin-1. Se llama mojibake y tiene una tabla de equivalencias muy reconocible:
| Ves esto | Debería ser |
|---|---|
á | á |
é | é |
à | í |
ó | ó |
ú | ú |
ñ | ñ |
“ †| comillas tipográficas |
’ | apóstrofo tipográfico |
Dónde suele ocurrir: al abrir un CSV en Excel sin indicarle la codificación. Excel, en español, asume la codificación regional del sistema y no UTF-8. Se arregla usando Datos → Obtener datos → Desde texto/CSV y eligiendo UTF-8 en el desplegable de origen del archivo, en vez de hacer doble clic en el archivo.
Un CSV que empieza con la marca BOM de UTF-8 le avisa a Excel qué codificación usar, y las tildes entran bien con doble clic. Es un detalle invisible del archivo que separa un CSV que funciona de uno que hay que importar a mano. Un archivo .xlsx no tiene este problema en absoluto, porque la codificación es parte del formato.
Párrafos en el orden equivocado
El PDF guarda los fragmentos de texto en el orden en que se dibujaron, que no tiene por qué ser el orden en que se leen. Un maquetador puede haber dibujado primero el pie de página, después el título y al final el cuerpo. Una herramienta que respete el orden interno del archivo te va a devolver exactamente ese desorden.
Por eso las extracciones serias reordenan por coordenadas: de arriba hacia abajo y de izquierda a derecha. Y por eso las páginas a dos columnas son un caso aparte: si se ordena solo por altura, se mezcla la línea de la columna izquierda con la de la derecha y el resultado es ilegible. Hay que detectar primero que hay dos columnas —buscando una franja vertical sin texto en el medio de la página— y recorrer una columna completa antes de pasar a la otra.
Diagnóstico rápido por síntoma
| Lo que ves | Causa | Qué hacer |
|---|---|---|
| Espacios dentro de las palabras | Umbral de inferencia de espacios | Probar otra herramienta; corregir con búsqueda y reemplazo |
| Palabras pegadas | El mismo umbral, al revés | Ídem |
| Símbolos sin sentido, misma longitud | Fuente con subconjunto y sin ToUnicode | OCR: no hay texto recuperable |
á, “ | Codificación mal interpretada | Reimportar como UTF-8 |
| Buscar no encuentra palabras con "fi" | Ligaduras | Normalizar NFKC o reemplazar |
| Párrafos desordenados | Orden de dibujo o dos columnas | Herramienta que ordene por coordenadas |
| Nada se puede seleccionar | PDF escaneado | Ver cómo identificarlo |
Probalo con tu propio PDF
Extractor PDF hace todo esto en tu navegador: el archivo no se sube a ningún servidor. Es gratis y no pide registro.
Lo que hay que recordar
El texto de un PDF está guardado como instrucciones de dibujo, y la información necesaria para recuperarlo como texto es opcional. Casi todos los síntomas raros —los espacios, las ligaduras, los símbolos— son consecuencias previsibles de eso. Saber qué síntoma corresponde a qué causa te dice en treinta segundos si el problema se arregla con un buscar y reemplazar o si hace falta pasar por OCR.
Seguí leyendo
La diferencia entre recuperar la imagen embebida y hacerle una captura a la página, por qué a veces salen cuar…
Listas de preciosEl flujo completo para pasar el PDF que te manda el proveedor a una planilla usable, y cómo comparar la lista …
FacturasUna factura no es una tabla: son dos cosas distintas mezcladas en la misma hoja. Cómo se separan y por qué la …