¿Por qué el texto que copio de un PDF siempre sale desordenado?
Encuentras un fragmento útil en un PDF y quieres ponerlo en tus notas, compartirlo con un compañero o usarlo como material para una pregunta. Seleccionar, copiar y pegar debería tardar solo unos segundos.
Pero al pegarlo, una oración aparece dividida en varias líneas, una palabra en inglés se corta por la mitad y los números de página se mezclan con el párrafo. Solo querías extraer un fragmento y ahora tienes que pulsar Retroceso una y otra vez.
Si el orden de lectura es correcto y solo están separadas las líneas, empieza por unir los saltos de línea dentro de los párrafos y conserva las líneas en blanco entre párrafos. Los títulos, las listas y los guiones al final de una línea requieren una revisión aparte. Si las frases de dos columnas están mezcladas, corrige primero el orden de copiado y no borres los saltos de línea directamente.
Una línea de la página no siempre es un párrafo en el texto
En una página PDF, una oración se ajusta al llegar al margen derecho. Ese salto visual puede deberse únicamente al papel o al ancho de la columna; no significa necesariamente que el autor haya empezado otro párrafo.
Al copiar, el lector tiene que reorganizar el texto de la página en una secuencia, pero no siempre distingue estos dos tipos de salto. La guía de extracción de texto de pdfminer.six explica cómo agrupar caracteres en líneas y bloques de texto usando su posición y la distancia entre ellos. Aunque el contenido parezca unido en la página, al copiarlo puede quedar separado.
Veamos algunos ejemplos sencillos y cómo tratarlos.
Une las frases, pero conserva los párrafos
Empecemos por un caso relativamente fácil de ordenar: cada párrafo se ha dividido en dos líneas, pero queda una línea en blanco entre los párrafos.
Texto que se va a ordenar:
We copied a paragraph
from the report into our notes.
The original page remains available
for checking names and numbers.Puedes introducir el texto en iSomor Text Cleaner y seguir estos tres pasos:
- Pega el texto. Empieza con un fragmento corto en «Contenido original» y conserva las líneas en blanco entre párrafos.
- Elige las opciones y ordénalo. Activa «Unir saltos de línea individuales» y «Normalizar espacios». Deja desactivado por ahora «Unir palabras separadas al final de línea» y haz clic en «Ordenar texto».
- Comprueba el resultado antes de usarlo. Compara las dos versiones para confirmar que los párrafos y las palabras no se han unido por error; después copia el texto o descarga el TXT.
Resultado de la herramienta:
We copied a paragraph from the report into our notes.
The original page remains available for checking names and numbers.El salto dentro de la frase desaparece y se conserva la separación entre los dos párrafos. También se mantienen los espacios entre las palabras inglesas, de modo que paragraph y from no quedan pegadas.
En este ejemplo, el salto individual está dentro del párrafo y la línea en blanco marca el límite entre párrafos. Si al copiar también queda solo un salto entre párrafos, compara con el original y añade la línea en blanco antes de ordenar el texto.
No elimines todos los guiones de final de línea
En un documento en inglés, una palabra puede dividirse al final de una línea por motivos de maquetación. Por ejemplo:
The trans-
lation is ready for review.Aquí trans- y lation forman originalmente una sola palabra. Al activar «Unir palabras separadas al final de línea», la herramienta produce:
The translation is ready for review.Pero un aspecto parecido no siempre requiere el mismo tratamiento. Observa una palabra que originalmente era cross-validation:
We used cross-
validation to compare the models.Con la misma opción activada, el resultado real es:
We used crossvalidation to compare the models.El salto desaparece, pero también se elimina el guion que tenía significado. En este caso hay que conservar cross-validation.
Por eso conviene dejar desactivada la unión de palabras al principio. Úsala solo después de confirmar que la palabra se había dividido por la maquetación. Si el material contiene palabras compuestas o números de modelo, ordena primero los saltos normales y revisa los guiones uno por uno.
Los títulos y las listas necesitan un poco de espacio
No todo lo que ocupa una línea independiente debe unirse a la línea siguiente.
Por ejemplo, en el texto siguiente la primera línea es un título, seguido de una explicación y una lista:
Preparation
Keep the original PDF first.
- Check names
- Check dates
- Check amountsCon «Unir saltos de línea individuales» y «Normalizar espacios» activados, la herramienta produce:
PreparationKeep the original PDF first.
- Check names
- Check dates
- Check amountsLa lista con marcas - se conserva, pero el título y el texto se unen. Cuando «Preparation» queda como texto normal, sin tamaño de letra ni negrita, un solo salto de línea no basta para reconocerlo como título.
En estos casos, añade una línea en blanco después del título antes de ordenar el texto. Con las mismas opciones se obtiene:
Preparation
Keep the original PDF first.
- Check names
- Check dates
- Check amountsLa línea en blanco mantiene separados el título y el texto. Las listas anidadas complejas, las tablas y las fórmulas conviene tratarlas por separado, no unirlas en el mismo lote que los párrafos normales.
Si el orden ya está mal, no te apresures a ordenar los saltos de línea
Si después de una frase de la columna izquierda aparece contenido de la columna derecha, o si un número de página queda en medio de una frase, eliminar saltos no arreglará el orden de lectura. Vuelve primero al paso de copiado:
- Dos columnas mezcladas: Intenta seleccionar y copiar una columna o un fragmento pequeño cada vez, y comprueba el orden pegado. Si el lector sigue mezclando las columnas, prueba otro método de extracción.
- Encabezados, pies de página o números mezclados: Compara con la página y elimina solo las partes que hayas confirmado como intrusas. No borres en bloque todas las líneas que contengan números; podrían ser números de sección o datos del texto.
- Una tabla convertida en una cadena de texto: Comprueba los encabezados, las unidades y la relación entre filas y columnas antes de decidir si conviene llevarla a una nota de texto plano. Menos espacios no significa que la tabla se haya recuperado.
- El texto copiado aparece ilegible: Revisa por separado la capa de texto o la codificación de la fuente. La limpieza de formato no puede corregir esos caracteres.
- Una imagen escaneada no tiene texto seleccionable: Primero necesita OCR. Una capa OCR existente también puede contener errores de reconocimiento; poder copiar no significa que el texto sea exacto. La documentación de pypdf distingue entre PDF con texto nativo, escaneos de imágenes y PDF con una capa OCR. El origen del texto es distinto en cada caso.
Antes de usar el resultado copiado, revisa estos puntos
Después de ordenar un fragmento corto, fíjate en los lugares que cambian con más facilidad:
- ¿Cada párrafo conserva el principio y el final correctos?
- ¿Las palabras inglesas siguen separadas y los guiones con significado permanecen?
- ¿Los títulos y las listas siguen separados?
- ¿Los números, las unidades, los signos menos y los símbolos de las fórmulas están completos y en su sitio?
Si el fragmento contiene puntuación china, también conviene revisar alrededor de esos signos. En nuestra prueba, al unir el salto después de una coma quedó un espacio extra que hubo que quitar manualmente. Confirma primero que el método funciona para este fragmento antes de aplicarlo a materiales parecidos.
Si vas a citarlo, conserva el título del documento, la página o el enlace y comprueba el texto con la fuente.
Ordenarlo sirve para volver a lo que estabas haciendo
El objetivo de limpiar el texto es quitar algunos saltos repetidos y espacios innecesarios, no convertirlo todo en un único párrafo. Cuando el cuerpo queda unido y los títulos y las listas siguen separados, el resultado es más fácil de reutilizar.
iSomor muestra el contenido original y el resultado juntos para que puedas ver los cambios. Después de revisarlo, puedes volver a tus notas, extractos o conversaciones y concentrarte en el fragmento que querías usar desde el principio.