elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a Git (Primera Parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  ¿Como hacer para corregir lineas de texto extraidas de un pdf?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: ¿Como hacer para corregir lineas de texto extraidas de un pdf?  (Leído 2,504 veces)
jack2013

Desconectado Desconectado

Mensajes: 2


Ver Perfil
¿Como hacer para corregir lineas de texto extraidas de un pdf?
« en: 1 Mayo 2020, 02:49 am »

Hola a todos, ¿que tal? Resulta que uso EditPadLite, me ha ayudado muchísimo en la redacción y edición de textos. El problema que tengo, es que no se cómo hacer para que me corrija las líneas que voy extrayendo al copiar y pegar textos de documentos pdf.

No se por qué me los copia mal, y hace que entre cada palabra, o entre varias palabras, existan más de 1 espacio, hay veces que llego a tener hasta 5 espacios entra cada palabra, aparte que al final de cada línea, tengo que estar haciendo "delete" 1 o dos veces, luego hacer "abajo", "fin" y de vuelta "delete" varias veces hasta llegar a la próxima palabra.

¿Alguien sabe cómo resolver este problema tan molesto que tengo dede hace tanto tiempo? Alguna función que me permita evitar que me pase eso, o sino, que me recomienden algún otro editor de texto que sea tan bueno, o mejor que EditPadLite.

Se lo agradeceré infinitamente.

Quedo a la espera de novedades.

Saludos cordiales.


« Última modificación: 1 Mayo 2020, 02:52 am por jack2013 » En línea

EdePC
Moderador Global
***
Desconectado Desconectado

Mensajes: 2.067



Ver Perfil
Re: ¿Como hacer para corregir lineas de texto extraidas de un pdf?
« Respuesta #1 en: 1 Mayo 2020, 04:09 am »

Has revisado si en verdad es problema de EditPad, porque los PDF pueden llegar a ser bastante "sucios", puede verse de una manera pero el texto y la disposición del documento en sí podría estar horriblemente armada.

Pega tu texto a un block de notas simple para comprobarlo. Si es problema de EdiPad supongo que el detalle estaría en la autodetección de tabulaciones que tiene, aunque lo dudo.

Adobe Acrobat PDF suele sanitizar un poco el texto copiado desde un PDF para que sea más legible si es que no lo es, por esto ofrece la opción de copiar normal y copiar tal cual.

- Un editor de texto para redactar documentos  :o? no es mejor Microsoft Word o Libre Office Write, claro que dependerá de tus necesidades, para texto y código me inclino más por usar SublemeText, para código más elaborado Visual Studio Code y para redactar documentos ofimáticos Microsoft Office 2013 que me va bastante rápido y tiene lo que necesito.

----

Le he estado echando un ojo a EditPad y tiene buena apariencia, no tanta como utilizarla en lugar de Notepad++ o mucho menos por Sublime pero podría competir contra Notepad3 ... Si puedes nombrar algunas resaltantes sobre su uso sería bueno.

- Veo que permite utilizar Expresiones Regulares para hacer búsquedas y reemplazos, pues las Expresiones Regulares son mágicas, pues buscar por { +} y reemplazarlas por { } OMITE las llaves


« Última modificación: 1 Mayo 2020, 04:56 am por EdePC » En línea

[u]nsigned


Desconectado Desconectado

Mensajes: 2.397

JS/Node developer


Ver Perfil WWW
Re: ¿Como hacer para corregir lineas de texto extraidas de un pdf?
« Respuesta #2 en: 1 Mayo 2020, 04:55 am »

Podes crearte un pequeño script que te borre todos los espacios sobrantes (dos o mas consecutivos) usando expresiones regulares:

Ejemplo en javascript:
Código
  1. var textoSucio = "  95716 B VO      21513836                        269     60 S          50.40          3024.00          SI          DCBO040818BLA";
  2. var textoLimpio = textoSucio.replace(/^\s+|\s+$|\s+(?=\s)/g, "");
  3. console.log(textoLimpio)

Que tendria la siguiente salida:
Código:
95716 B VO 21513836 269 60 S 50.40 3024.00 SI DCBO040818BLA

Tambien habria que ver si ademas de espacios consecutivos, tambien tenes otro tipo de 'suciedad' como tabulaciones u otros carecteres raros, pero la forma de eliminarlos con expresiones regulares es la misma.
« Última modificación: 1 Mayo 2020, 04:57 am por [u]nsigned » En línea

No hay atajo ante la duda, el misterio se hace aquí...
Se hace carne en cada uno, el misterio es existir!
@XSStringManolo
Hacker/Programador
Colaborador
***
Desconectado Desconectado

Mensajes: 2.397


Turn off the red ligth


Ver Perfil WWW
Re: ¿Como hacer para corregir lineas de texto extraidas de un pdf?
« Respuesta #3 en: 1 Mayo 2020, 05:46 am »

No la probé pero creo que la forma de unsigned es mejor.

Te hice un código para que guardes como html y lo uses para quitar los espacios. Copias el código, lo guardas como espacios.html y lo abres en el navegador. Pengas dentro del area el texto, de das al botón y ya te los quita. Después click derecho y seleccionar todo.
También te dejé entre comentarios /* */ para quitar los saltos de linea. Si borras /* */ ya te quita también los saltos de línea. Si tiene más de 10 espacios consecutivos dale varias veces al botón xD.

Código
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <style>
  6. textarea {
  7.  width: 99%;
  8.  height: 600px;
  9.  overflow: scroll;
  10. }
  11. </style>
  12. </head>
  13. <body>
  14. <button type="button" id="xD2">Quita Espacios</button>
  15. <br />
  16. <textarea id="xD" placeholder="Pon aquí tu texto">          10
  17.         9
  18.        8
  19.       7
  20.      6
  21.     5
  22.    4
  23.   3
  24.  2
  25. 1
  26. 0</textarea>
  27. <script>
  28. var ta=document.querySelector("#xD");
  29. document.querySelector("#xD2").onclick=function(){ta.value=Formatear(ta.value)};
  30.  
  31. function Formatear(texto) {
  32.  return texto/*.replace(/(\r\n|\n|\r)/gm,"")*/
  33. .replace("          "," ")
  34. .replace("         "," ")
  35. .replace("        "," ")
  36. .replace("       "," ")
  37. .replace("      "," ")
  38. .replace("     "," ")
  39. .replace("    "," ")
  40. .replace("   "," ")
  41. .replace("  "," ")
  42.  
  43. }</script>
  44. </body>
  45. </html>
En línea

Mi perfil de patrocinadores de GitHub está activo! Puedes patrocinarme para apoyar mi trabajo de código abierto 💖

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines