actualmente, si hago una página objeto de una página pdf con pyPdf y extractText(), lo que ocurre es que las líneas se concatenan juntas. Por ejemplo, si la línea 1 de la página dice "hola" y la línea 2 dice "mundo", el texto resultante devuelto por extractText() es "helloworld" en lugar de "hello world". ¿Alguien sabe cómo solucionar esto o tiene sugerencias para trabajar? Realmente necesito el texto para tener espacios entre las líneas porque estoy haciendo minería de texto en este texto en pdf y no tener espacios entre líneas lo mata ...python y pyPdf - cómo extraer texto de las páginas para que haya espacios entre las líneas
Respuesta
Este es un problema común con el análisis de PDF. También puede esperar guiones finales que tendrá que corregir en algunos casos. Se me ocurrió una solución para uno de mis proyectos que describiré aquí en breve:
Utilicé pdfminer para extraer XML de PDF y también encontré palabras concatenadas en el XML. Extraje la misma PDF como HTML y el código HTML puede ser descrito por las líneas de la siguiente expresión regular:
<span style="position:absolute; writing-mode:lr-tb; left:[0-9]+px; top:([0-9]+)px; font-size:[0-9]+px;">([^<]*)</span>
Los vanos son absolutamente posicionado y tienen un estilo de la parte superior que se puede utilizar para determinar si un salto de línea que pasó. Si se produjo un salto de línea y la última palabra en la última línea no tiene un trazo final, puede separar la última palabra en la última línea y la primera palabra en la línea actual. Puede ser complicado en los detalles, pero es posible que pueda corregir casi todos los errores de análisis de texto.
Además puede ejecutar una biblioteca de diccionarios como enchant sobre su texto, encontrar errores y si la solución sugerida por el diccionario es como la palabra de error pero con un espacio en alguna parte, es probable que la palabra de error sea un error de análisis y se puede arreglar con la sugerencia de los diccionarios.
Analizando PDF apesta y si encuentra una fuente mejor, úselo.
- 1. Script de Python para eliminar páginas en blanco usando pyPDF
- 2. pyPdf no se puede extraer el texto de algunas páginas en mi PDF
- 3. ¿Cómo eliminar texto de todas las líneas entre dos columnas?
- 4. ¿Diferencia entre las páginas .asp y .aspx?
- 5. Extraer cadena de entre las citas
- 6. Eliminar todos los espacios en blanco y las líneas vacías
- 7. Python regex para hacer coincidir el texto entre comillas simples, ignorando las comillas escapadas (y pestañas/líneas nuevas)
- 8. No permita que las nuevas líneas de área de texto
- 9. Expresión regular para extraer texto entre corchetes
- 10. Estrategia de Python para extraer texto de páginas html con formato incorrecto
- 11. pitón de expresiones regulares para reemplazar todas las líneas nuevas ventanas con espacios
- 12. ¿Cómo contar las líneas de código en Python excluyendo los comentarios y las cadenas de documentos?
- 13. cómo extraer texto fuera de las etiquetas xml
- 14. Retire las líneas vacías de txtfiles, quitar espacios de principio y al final de la línea
- 15. Las expresiones regulares: extraer todas las palabras de cotizaciones
- 16. ¿Cómo eliminar las dos primeras líneas y las últimas cuatro líneas de un archivo de texto con bash?
- 17. Bash: buscar archivos con espacios al final de las líneas
- 18. espacios retab Vim al comienzo de las líneas solamente
- 19. Saltar primer par de líneas, mientras que las líneas de lectura en el archivo Python
- 20. Cómo agregar diferentes líneas para las facetas
- 21. Eliminar espacio entre líneas de texto
- 22. ¿Cómo elimino las nuevas líneas de un archivo de texto?
- 23. ¿Cómo arreglar las páginas sucias de InnoDB?
- 24. ¿Cómo puedo extraer todas las citas en un texto?
- 25. Lee las líneas entre dos palabras clave
- 26. Cómo minificar las páginas aspx
- 27. ¿Cómo obtengo mi área de texto para preservar las líneas nuevas cuando uso jQuery y JSON?
- 28. C# ¿Cómo cuento las líneas en un archivo de texto
- 29. selenio WebDriver - cómo verificar las líneas múltiples de texto
- 30. URL bonitas para las páginas de búsqueda
Es posible que desee echarle un vistazo a esta página SO: http://stackoverflow.com/questions/25665/python-module-for-converting-pdf-to-text ¡Hay algunas buenas sugerencias allí! – avelldiroll