Análisis de archivos PDF en Python con Tika

Apache Tika es una biblioteca que se utiliza para la detección de tipos de documentos y la extracción de contenido de varios formatos de archivo. Con esto, se puede desarrollar un detector de tipo universal y un extractor de contenido para extraer tanto texto estructurado como metadatos de diferentes tipos de documentos, como hojas de cálculo, documentos de texto, imágenes, PDF e incluso formatos de entrada multimedia hasta cierto punto. Tika-Python es un enlace de Python a los servicios REST de Apache TikaTM que permite llamar a tika de forma nativa en lenguaje python.

Instalación:

Para instalar Tika, escriba el siguiente comando en la terminal. 

pip install tika

Nota: Tika está escrito en Java, por lo que necesita un tiempo de ejecución java (7 o 7+) instalado

Para extraer contenido de los archivos PDF, utilizaremos el método from_file() del objeto analizador . Así que veamos primero la descripción.

Sintaxis: parser.from_file(nombre de archivo, adicional)

Parámetros:

  • nombre de archivo: esta es la ubicación del archivo, se abre en modo rb, es decir, modo de lectura binario
  • adicional: servicio param: servicio solicitado desde el servidor tika, el valor predeterminado es ‘todos’, lo que da como resultado contenido de texto recursivo + metadatos.
    • ‘meta’ devuelve solo metadatos. ‘texto’ solo devuelve contenido.
    • param xmlContent: puede tener contenido XML, valor predeterminado: falso

Tipo de retorno: diccionario.

Ahora, veamos el programa python para extraer datos de pdf:

Ejemplo 1: Extracción de contenido del archivo pdf.

Python3

# import parser object from tike
from tika import parser  
  
# opening pdf file
parsed_pdf = parser.from_file("sample.pdf")
  
# saving content of pdf
# you can also bring text only, by parsed_pdf['text'] 
# parsed_pdf['content'] returns string 
data = parsed_pdf['content'] 
  
# Printing of content 
print(data)
  
# <class 'str'>
print(type(data))

Producción:

pdf content

Ejemplo 2: extracción de metadatos de un archivo pdf.

Python3

# import parser object from tike
from tika import parser  
  
parsed_pdf = parser.from_file("sample.pdf")
  
# ['metadata'] attribute returns 
# key-value pairs of meta-data 
print(parsed_pdf['metadata']) 
  
# <class 'dict'>
print(type(parsed_pdf['metadata']))

Producción:

Meta data

Ejemplo 3: Extraer claves.

Python3

from tika import parser
  
parsed_pdf=parser.from_file("sample.pdf")
  
# Returns keys applicable for given pdf.
print(parsed_pdf.keys())

Producción:

keys of the paresed dictionary

Ejemplo 4: Conocer el estado del servidor tika.

Python3

from tika import parser
  
# You can also know the 
# status returned from tika 
# server, 200 for success 
parsed_pdf= parser.from_file("sample.pdf")
  
print(parsed_pdf['status'],type(parsed_pdf['status'] ))

Producción:

200 <class 'int'>

Publicación traducida automáticamente

Artículo escrito por akshaypawar4 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *