2009-12-04 12 views
66

Estoy buscando una biblioteca PDF que me permita extraer el texto de un documento PDF. Miré PyPDF, y esto puede extraer muy bien el texto de un documento PDF. El problema con esto es que si hay tablas en el documento, el texto en las tablas se extrae en línea con el resto del texto del documento. Esto puede ser problemático porque produce secciones de texto que no son útiles y se ven distorsionadas (por ejemplo, muchos números mezclados).Análisis PDF avanzado Uso de Python (extracción de texto sin tablas, etc.): ¿Cuál es la mejor biblioteca?

Estoy buscando algo un poco más avanzado. Me gustaría extraer el texto de un documento PDF, excluyendo cualquier tabla y formato especial. ¿Hay una biblioteca por ahí que hace esto? ¿O me veo obligado a hacer un postprocesamiento en el texto de salida para deshacerme de estas secciones?

Respuesta

53

También puede echar un vistazo a PDFMiner, otro analizador de PDF en Python.

La particularidad de PDFMiner que puede interesarle es que puede controlar cómo reagrupa partes de texto al realizar la extracción. Para ello, especifique el espacio entre líneas, palabras, caracteres, etc. Por lo tanto, tal vez al modificar esto puede lograr lo que desea (eso depende de la variabilidad de sus documentos). PDFMiner también puede darle la ubicación del texto en la página, puede extraer datos por ID de objeto y otras cosas. ¡Así que atrévete en PDFMiner y sé creativo!

Pero su problema realmente no es fácil de resolver porque, en un PDF, el texto no es continuo, sino que está hecho de muchos pequeños grupos de caracteres ubicados absolutamente en la página. El objetivo de PDF es mantener el diseño intacto. No está orientado al contenido, sino a la presentación.

+1

PDFMiner parece interesante. Puedo usar el resultado XML de él, y luego analizar eso para ignorar lo que no quiero. Esto aún requiere un procesamiento posterior sustancial, pero por ahora probablemente sea la mejor solución. Gracias. –

+0

@Etienne, ¿se puede usar esto si el PDF tiene otros caracteres de idioma también? –

+0

Debería funcionar con otros caracteres de idioma. Mención de documentos: compatibilidad con lenguajes CJK y escritura vertical. La mejor manera de estar seguro, pruébalo! – Etienne

-1

Es un problema difícil de resolver ya que los archivos PDF visualmente similares pueden tener una estructura muy diferente dependiendo de cómo se produjeron. En el peor de los casos, la biblioteca tendría que actuar básicamente como un OCR. Por otro lado, el PDF puede contener suficiente estructura y metadatos para eliminar fácilmente tablas y figuras, que la biblioteca puede personalizar para aprovechar.

Estoy bastante seguro de que no hay herramientas de código abierto que resuelvan su problema para una amplia variedad de archivos PDF, pero recuerdo haber oído hablar de software comercial que afirma hacer exactamente lo que usted solicita. Estoy seguro de que te encontrarás con ellos mientras buscas en Google.

Cuestiones relacionadas